忘れないように記録しとこ

カバの樹

isset と empty

2012年8月12日

注意
【過去の自分の戒めの為に】
isset と empty は全くの別物である。

isset ? 変数がセットされていること、そして NULL でないことを検査する
・ ・
◆変数が存在しなければ FALSE を返します。

※1 isset() は何らかの値が渡された 変数の場合のみ動作します。そうでない場合、パースエラーとなります。 もし 定数が設定されているかどうかをチェックする場合は、 defined() を使用してください。

※2 これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。

※3 オブジェクトのアクセス不能なプロパティに対して isset() を使用した場合は、もしオーバーロードメソッド __isset が宣言されていればそれをコールします。

empty ? 変数が空であるかどうかを検査する

◆変数が空でないか、0でない値であれば FALSE を返します。

※1 empty() は、変数のみをチェックし、それ以外の値を チェックすると文法エラーを生成します。つまり、次の例は動作しません: empty(trim($name)).

※2 注意: これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。

※3 オブジェクトのアクセス不能なプロパティに対して empty() を使用した場合は、もしオーバーロードメソッド __isset が宣言されていればそれをコールします。

  • B!