そのような :
return empty(!$val);
$val(); を返します。
次のようなブール条件を作成するだけです。
if (!empty($val)) {}
と
if ($val) {}
そのような :
return empty(!$val);
$val(); を返します。
次のようなブール条件を作成するだけです。
if (!empty($val)) {}
と
if ($val) {}
空のマニュアルから:
変数が空であると見なされるかどうかを判別します。変数が存在しない場合、またはその値がFALSEの場合、変数は空であると見なされます。empty()は、変数が存在しない場合、警告を生成しません。
URLにクエリ文字列パラメータ$_GET['foo']
が含まれていることを保証できない場合などのエラーを回避します。foo
PHPのドキュメントはそれについて非常に明確です。追加するものはありません:
http://php.net/manual/en/function.empty.php
変数が空であると見なされるかどうかを判別します。変数が存在しない場合、またはその値がFALSEの場合、変数は空であると見なされます。empty()は、変数が存在しない場合、警告を生成しません。
と
次のものは空であると見なされます。
"" (an empty string) 0 (0 as an integer) 0.0 (0 as a float) "0" (0 as a string) NULL FALSE array() (an empty array) $var; (a variable declared, but without a value)
マニュアルから:
変数が存在しない場合、警告は生成されません。つまり、 empty() は本質的に !isset($var) || と同等の簡潔なものです。$var == 偽。
つまり、empty が警告を出さないこと以外はまったく同じです。