if emptyのおさらい

  • 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)で書いとこう。


PHP: PHP 型の比較表 - Manual