「変数の値がnull」かどうか調べるという話と未定義変数を混ぜると論点が変わるんじゃないでしょうか?
変数が未定義だと結果的にvar_dump()とか値の評価とかしたときにNULLになるだけってことですからね。
ちなみに、empty()は空配列もempty()はtrue返すってのがなんかいやだなーっていうので一切使ってないです。
if ( !empty($hoge)){
............
}
とかやられると、見通しが悪くなるし。
$hogeに入ってるのがArray()なら is_array($hoge) && count($hoge) >0 とかやっちゃいます。面倒でもね。
NULLかどうかは!issetを使ってます - モノノフ日記
ちゃんと変数は全部定義するもんだよー、というCやJava気質な人は良いと思うんですがスクリプト言語だと変数名をあらかじめ全部定義したりしない人が多いはず!
PHPに育ててもらってるPHP気質な私ですが、未定義値の使用はもちろん、ObjectのPropertyも未定義のものをつっこんだり(これがまたNotice出ないし)もしません。
いまや絶滅寸前だけど、register_global Onの環境を考えると未定義値の使用はちょっと怖いです。
もちろん、グローバル変数がぶんぶんのベタなPHPなんてキョウビ書いてなくってっていうのはわかりますが。