Nullチェック

Nullチェックとは、変数の中身が空であるかどうかを確認する処理である。
もし空のまま処理を実行してしまえば、エラーが発生する事もあり、
また、空であるかどうかを条件に、処理を分ける事も可能である。

Nullチェックのために主に使う3つの要素の動きを、以下の表にまとめる。
なお、今回は「要素が存在するかどうか」を前提で統一するため、
「empty()」と「is_null()」は「!」を付与して、値を反転させている。

!empty() isset() !is_null()
未定義 false false エラー
null false false false
0(数値) false true true
'0'(文字列) false true true
空文字 false true true
空配列 false true true

こうして見ると、「empty()」が要素そのものが存在しないか、
「isset()」が中身が入っているか、「is_null()」が中身がnullかどうか、
という処理結果が、わかるはず。

基本的には、未定義かどうかを調べる場合は「isset()」を用いて、
未定義にはならないが、「取得できなかった」という意味で、
「0」や空配列が返ってくる要素には、「empty()」を使うとよい。
「is_null()」は・・・ 使う事はあるのだろうか。

特にSQL文を実行し、正常終了したが、条件に一致する値がない場合、
空の配列を返す場合がある。
そういう場合には、「!empty()」でチェックを行ったほうがよい。

パフォーマンスうんぬんを言われる事もあるが、
PHP標準の関数単体にパフォーマンスを気にするぐらいなら、
自分たちが記述した、処理全体のパフォーマンスを気にしたほうがいいだろう。