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; 簡単な <function>empty</function> / <function>isset</function> の比較 ]]> 文字列のオフセットに対する <function>empty</function> ]]> &example.outputs; 多次元配列に対する <function>empty</function> [ '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 型の比較表