注意
【過去の自分の戒めの為に】
isset と empty は全くの別物である。
isset ? 変数がセットされていること、そして NULL でないことを検査する
・ ・
◆変数が存在しなければ FALSE を返します。
※1 isset() は何らかの値が渡された 変数の場合のみ動作します。そうでない場合、パースエラーとなります。 もし 定数が設定されているかどうかをチェックする場合は、 defined() を使用してください。
※2 これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。
※3 オブジェクトのアクセス不能なプロパティに対して isset() を使用した場合は、もしオーバーロードメソッド __isset が宣言されていればそれをコールします。
empty ? 変数が空であるかどうかを検査する
◆変数が空でないか、0でない値であれば FALSE を返します。
※1 empty() は、変数のみをチェックし、それ以外の値を チェックすると文法エラーを生成します。つまり、次の例は動作しません: empty(trim($name)).
※2 注意: これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。
※3 オブジェクトのアクセス不能なプロパティに対して empty() を使用した場合は、もしオーバーロードメソッド __isset が宣言されていればそれをコールします。