PHP では、isset()、empty()、is_null() はすべて変数の値をテストするために使用できますが、それらの違いは何でしょうか?次の記事では、これら 3 つの機能を比較し、その違いを理解します。
#いくつかの定義から始めましょう。
isset()
: isset()
を使用すると、変数が宣言されているかどうかを判断でき、 null ### 異なります。
empty() : 変数が存在し、変数の値が
false に評価されていないかどうかを判断するために使用されます。
is_null() : この関数は、変数が
null であるかどうかを確認するために使用されます。
vs
empty()
NULL 以外に設定した場合、
isset() は
true を返します。これには、
0、空の文字列、または
false を含めることができます。一方、
empty() は、変数の値が
false に設定されている場合は常に
true を返します。これらの値を「偽値」と呼びます。エラー値の例には、
0、空の文字列
"" および文字列
"0"、空の配列
NULL が含まれます。 、そしてもちろんブール値
false を持ちます。
isset() と
empty() の類似点の 1 つは、どちらも言語構造であるため、変数関数を使用して呼び出すことができないことです。
<?php $fruit = ''; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // Output: Do you like ? if(!empty($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output ?>
empty() は
isset() 関数を使用して記述できることに注意してください。
<?php function my_empty($x) { return !isset($x) || $x == false }
empty() 関数を使用する方が簡単です。
と
is_null()
の場合、is_null()
関数は true
を返します。それ以外の場合は、単に false
を返します。一方、isset()
は、変数が定義され、その値が NULL
でない場合には常に true
を返します。 ここでは、それらの違いを説明するための基本的な例を示します。
<?php $fruit = NULL; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output if(is_null($fruit)) { echo 'There is no fruit.'; } // Output: There is no fruit. ?>
is_null()
変数の値が ## と評価される場合# falseempty() 関数は
true を返します。これは、空の文字列
NULL、整数
0、または要素のない配列を意味する場合があります。一方、
is_null() は、変数の値が
NULL の場合にのみ
true を返します。
ここでは、それらの違いを説明するための基本的な例を示します。
<?php $fruit = NULL; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output if(is_null($fruit)) { echo 'There is no fruit.'; } // Output: There is no fruit. ?>
覚えておくべき重要なこと
empty()
やis_null() とは異なり、同時に複数の値を
isset() に渡すことができます。未定義のものがないか、
NULL に設定されているかどうかを確認してください。この場合、
isset() は、渡された値が
NULL でない場合にのみ
true を返します。
2.2. 値が
NULL
== を使用しないでください。これにより、
false と評価される空の文字列のような値に対して偽陽性が発生します。
推奨学習: 「
PHP ビデオ チュートリアル
以上がPHP の isset()、empty()、および is_null() の違いに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。