phpのnullやfalse

twitterでnullやfalseがややこしいというネタを見つけたので少し調べてみました。
判定のややこしい文字群
“”(空文字), “0”(文字列の0), 0(数字の0), null, false, array(), $x(未定義)…

判定する方法および結果
is_null() -> nullはもちろんtrueを返すが、$x(未定義)もtrueを返すので注意 $xではnoticeのエラーを出す
empty() -> 上記に挙げた要素はいずれもtrueを返す !(boolean)とほぼ等価
isset() -> is_null()とほぼ対極をなす。可変関数を引数にとることはできない。