isset()を用いる時に気をつけなければならいのは、変数にNULLが代入されているときは、falseを返すということです。
仮に$bが文字列代入であれば、「$b = "」と初期化すれば「isset($b)は、trueを返却」します。
また配列の要素をisset()で調べる場合も同様で、要素が存在しても値がnullの場合、返り値はfalseとなります。
$fruits = array('apple' => 'red', 'banana' => 'yellow', 'grapes' => null); isset($fruits['apple']); // true isset($fruits['grapes']); // false
この場合は、array_key_exists()を用いると意図した結果になります。
array_key_exists('apple', $fruits); // true array_key_exists('grapes', $fruits); // true