値の存在確認のための仕組みとして標準でisset関数が搭載されているが、
同じような機能を持つ関数がissetのほかにempty、is_nullがある。
違いは以下のようになっている。
値 | isset($var) | empty($var)) | is_null($var) |
$var=1 | TRUE | FALSE | FALSE |
$var=””; | TRUE | TRUE | FALSE |
$var=”0″; | TRUE | TRUE | FALSE |
$var=0; | TRUE | TRUE | FALSE |
$var=NULL; | FALSE | TRUE | TRUE |
$var | FALSE | TRUE | TRUE |
$var=array() | TRUE | TRUE | FALSE |
$var=array(1) | TRUE | FALSE | FALSE |
配列の要素の存在確認はemptyを使用したほうがよく、
issetはNULLの場合に値が存在しないと認識されるので
NULLの扱い時には要注意。