- empty おおざっぱ
- is_null 几帳面
- isset 几帳面
- if($x) おおざっぱ
- emptyとif($x)
- 評価は逆になるが、レベルは同じで、おおざっぱ
- ""や0やfalseなど意味がなさそうなものは切り捨てる
- is_nullとisset
- 評価は逆になるが、レベルは同じで、几帳面
- ""や0やfalseは値ありとして扱ってくれる
- $xが未定義の場合
- empty でない
- is_null でない
- isset でない
- if($x) E_NOTICEがでる
- 未定義とは何か
- $bがひとつも出てきてない状態
- $b;だけの状態
- unset($b)した状態の$b
逆に考えたら、E_NOTICEが出たほうが健全じゃないか
未定義の値を判定してるということ。
関数で未定義な変数を隠蔽してる
未定義でも動くからPHPはいいんだよね。
なのでif($x)で書いとこう。