empty
変数が空であるかどうかを検査する
&reftitle.description;
boolempty
mixedvar
変数が空であるかどうかを検査します。
変数が空であるとみなされるのは、変数が存在しない場合や
変数の値が &false; に等しい場合です。
empty は、変数が存在しない場合でも警告を発生させません。
このことは、多次元配列やチェインされたプロパティのような、
ネストされたデータ構造であっても当てはまります。
&reftitle.parameters;
var
チェックする変数
変数が存在しなくても警告は発生しません。
つまり、empty は本質的に
!isset($var) || $var == false
と同じことを簡潔に記述しているだけです。
&reftitle.returnvalues;
var が存在しない、
または空や0の値が設定されている場合、
つまり boolean のコンテキストで &false; と見なされる場合、
&true; を返します。
詳細は boolean への変換 を参照ください。
それ以外の場合は &false; を返します。
&reftitle.examples;
簡単な empty / isset
の比較
]]>
文字列のオフセットに対する empty
]]>
&example.outputs;
多次元配列に対する empty
[
'deep' => [
'nested' => 'value'
]
]
];
if (!empty($multidimensional['some']['some']['nested'])) {
$someVariable = $multidimensional['some']['deep']['nested'];
}
var_dump(empty($multidimensional['some-undefined-key']));
var_dump(empty($multidimensional['some']['deep']['unknown']));
var_dump(empty($multidimensional['some']['deep']['nested']));
?>
]]>
&example.outputs;
&reftitle.notes;
¬e.language-construct;
オブジェクトのアクセス不能なプロパティに対して empty
を使用した場合は、もしオーバーロードメソッド
__isset()
が宣言されていればそれをコールします。
&reftitle.seealso;
isset
__isset()
unset
array_key_exists
count
strlen
PHP 型の比較表