-2

私は初心者で、フォームに適用される "if ステートメント" のセットが 2 つあり、ほとんど同じことを行いますが、なぜそれらが何をするのかを理解したいと思います。エラーを出力して空のフォームを送信すると、最初の if ステートメントが配列内の各フィールドをエコーし​​、各フィールドの横に「必須」という言葉が表示されます。2 番目の if ステートメントについては、空のままにした特定のフィールドをエコーする最初の if ステートメントと比較して、フォームのフィールドが 1 つでも空のままである場合、「すべてのカテゴリに入力しませんでした」と単にエコーします。コーディングの各セットを段階的に分解していただければ幸いです。また、その言語を学べるリンクを教えていただけないでしょうか? ありがとうございました!

<?php

    if(isset($_POST['registrationform'])){
        $required_fields = array('first_name', 'last_name', 'email', 'password', 'gender', 'month', 'day', 'year');
        foreach ( $required_fields as $key=>$value) {
         if (!isset($_POST[$value]) || $_POST[$value]=='') {
              $errors[$value] =$key." is required";
            }
            }  
            }
            print_r($errors);
?>   



<?php
if (empty($_POST) === false) {
        $required_fields = array('first_name', 'last_name', 'email', 'password', 'sex', 'birthday', 'terms_of_service');
        foreach ($_POST as $key=>$value) {
            if (empty($value) && in_array($key, $required_fields) === true) {
                $errors[] = 'You didn\'t fill in all of the categories.';
                break 1;
            }
            }
            }
            print_r($errors);
?>
4

1 に答える 1

0

「 isset() は、変数が存在する場合、たとえそれが空であっても true を返します。変数が存在しない場合、またはそれらの内容が「空」であると見なされる場合、 empty() は true を返します (空の文字列、0、NULL、false、配列要素なし) それらはまったく異なります. empty($var) は !($var) と同等だと思います."

http://www.webhostingtalk.com/archive/index.php/t-373975.html

この質問を参照してください: isset と empty の違いは何ですか?

両方の機能に関する情報:

http://us3.php.net/manual/en/function.empty.php

http://us3.php.net/manual/en/function.isset.php

PHP を学習するためのチュートリアル:

http://www.w3schools.com/php/default.asp

于 2013-01-05T20:31:46.303 に答える