null判定表です。
$hoge = "◯◯"という形でそれぞれ値を代入している時の実行結果を表に出力しています。

var_dumpで実際に出力しています。エラーメッセージが表示されてしまう場所は"error"と表記。

$hoge isset($hoge) empty($hoge) is_null($hoge) $hoge == null $hoge === null
宣言なし bool(false) bool(true) @bool(true) @bool(true) @bool(true)
初期値なし bool(false) bool(true) @bool(true) @bool(true) @bool(true)
0 bool(true) bool(true) bool(false) bool(true) bool(false)
"" bool(true) bool(true) bool(false) bool(true) bool(false)
false bool(true) bool(true) bool(false) bool(true) bool(false)
null bool(false) bool(true) bool(true) bool(true) bool(true)
"0" bool(true) bool(true) bool(false) bool(false) bool(false)
array() bool(true) bool(true) bool(false) bool(true) bool(false)
array(5) bool(true) bool(false) bool(false) bool(false) bool(false)