issetの履歴
PHPのキーワード。requireと同じく、実は関数ではない。
issetはnull値かシンボルテーブルに登録されてない場合にfalseを返す。それ以外はtrue。
なので、!isset($a) と is_null($a)は同じこと。
http://www.cpa-lab.com/tech/097
以前、配列の場合にこれで引っ掛かった。配列にあるキーが登録されているかどうかを調べるためにissetは使えない。
$hoge = array('a' => null); var_dump(isset($hoge['a'])); // false
キーがシンボルテーブルに登録されているかどうかを調べるには、array_key_existsを使う。
$hoge = array('a' => null); var_dump(array_key_exists('a', $hoge)); // true