1

私はissetPHPの関数と少し混乱していると思います。この関数を使用して、フォーム内のフィールドを判断しようとしています...関数がフィールドに値が含まれているかどうかを確認するnullという印象を受けました...しかし、関数はそれに渡されたものが存在します。issetisset

例えば。

name 属性が「day」に設定されたフォーム入力フィールドがあるとします。isset($_GET['day']);フォーム入力フィールドがそうでないかどうかを判断するために使用しnullますか? またはisset、「日」が存在するかどうかを確認し、それが渡す値を確認しないだけですか?

どんな助けでも素晴らしいでしょう!ありがとう!

4

3 に答える 3

5

PHPisset()ページから:

[isset() は、変数が設定されていて NULL でないかどうかを判断します。

この意味は:

$var1;
$var2 = NULL;
$var3 = 0;
$var4 = 'test';
isset($var1); //false
isset($var2); //false
isset($var3); //true; note that if($var3) still returns false
isset($var4); //true
isset($var0); //false

そのビットを要約すると、変数が設定されていないか (したがって関数名)、値として含まれている場合にisset()返されます。true を返すには、変数が存在し、実際の値 (ブール値を含む) を含んでいる必要があります。FALSENULLisset()false

の場合、値が実際に渡されたかどうか (つまり、null でないこと) を確認するために$_GET['day']使用できます。isset()

于 2012-07-22T04:50:41.170 に答える
3

Isset は、変数が定義されているかどうかを確認するだけです。emptyそれがnullか未定義か、またはそのようなものかを知るために使用します。

if(!empty($_GET['day']))
    //Stuff
于 2012-07-22T04:17:27.480 に答える
0

その通りです。 isset() 関数は、変数「day」が存在することを確認するだけです。値が存在するか空であるかを確認するには、 empty() 関数を使用する必要があります。

于 2012-07-22T04:18:06.267 に答える