PHPの変数がnullでも宣言されているかどうかの判定方法
$a = null;
isset($a) // ヌルがセットされいているのでfalseになってしまう。
is_null($a) // trueになるが$a=nullの宣言がなくてもtrueになってしまう。
nullでも宣言がないと
PHP error "Notice: Undefined variable"
のエラーが出るので内部的には判定できているようです。
取り合えず応急処置として下記のように対応。
http://php.benscom.com/manual/ja/function.array-key-exists.php:array_key_existsを使う。
$a[0] = null; array_key_exists(0, $a) // trueになる。宣言がない場合はちゃんとfalseになる。
配列を使わずに変数だけで処理出来る方法はあるのだろうか。