comparison \ $v undefined null 0 '0' '' false
!isset($v) true true false false false false
is_null($v) true true false false false false
empty($v) true true true true true true
$v == null true true true false true true
$v === null true true false false false false
$v == '' true true true false true true
$v === '' false false false false true false
$v == false true true true true true true
$v === false false false false false false true
$v == 0 true true true true true true
$v === 0 false false true false false false
$v == '0' false false true true false true
$v === '0' false false false true false false
!$v true true true true true true

※ただし、$v が undefined のとき、!isset($v) と empty($v) 以外は E_NOTICE を吐きます。