また、関数から返されたときに変数がfalse
/であるかどうかを確認する方法も混乱します。null
状態を確認するempty()
ためにいつ、いつ使用するのですか?isset()
関数からの戻り値については、どちらisset
も使用しませんempty
。これらは変数に対してのみ機能し、エラーをトリガーすることなく、存在しない可能性のある変数をテストするためだけに存在するためです。
関数の戻り値の場合、変数の存在をチェックするのは無意味なので、次のようにします。
if (!my_function()) {
// function returned a falsey value
}
詳細については、The Definitive Guide To PHP's isset
Andempty
を参照してください。
変数のチェック (いくつかの例)
if(is_null($x) === true) // null
if($x === null) // null
if($x === false)
if(isset($x) === false) // variable undefined or null
if(empty($x) === true) // check if variable is empty (length of 0)
Isset() は、変数に ( False 、 0 、または空の文字列) を含む値があるかどうかを確認しますが、NULL は含まれません。var が存在する場合は TRUE を返します。それ以外の場合は FALSE。
一方、 empty() 関数は、変数が空文字列、0、NULL、または False の空の値を持つかどうかをチェックします。var が空でもゼロでもない値を持つ場合、FALSE を返します。
isset — 変数が設定されていて NULL でないかどうかを判断する
$a = "test";
$b = "anothertest";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
empty — 変数が空かどうかを判断する
<?php
$var = 0;
// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}
// Evaluates as true because $var is set
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>
ISSET
変数が設定されているかどうかを確認します。つまり、変数がNULL
または以外の値であるかどうかを確認しますnot assigned a value
。変数が存在し、NULL 以外の値を持つ場合、ISSET は TRUE を返します。これは、" "、0、"0"、または FALSE が割り当てられた変数が設定されていることを意味し、したがって ISSET に対して TRUE になります。
EMPTY
変数が空かどうかを調べます。Empty は次のように解釈されます: " " (空の文字列)、0 (整数としての 0)、0.0 (float としての 0)、"0" (文字列としての 0)、NULL、FALSE、array() (空の配列) )、および「$var;」(変数は宣言されていますが、クラスには値がありません。
empty() は悪です。遅く、$v がfalse,0,'0',array(),''を呼び出すと、true が返されます。この種のチェックが必要な場合は、if ($ v) .