PHPの変数チェック方法の違い

変数に値が入っているのか?を確認する方法はいくつかあります。PHPでは方法によって結果が変わるので簡単にまとめます。

PHPの変数をチェック

PHPは変数を使うときに型を宣言しません。型を意識せずに変数を使えるのは便利なのですが、一方で変数の比較や確認が曖昧になっている点もあります。

コーディングの中で変数に値が入っているかどうかを確認する処理はよく記述します。そして、その確認方法はいくつかあります。ですが確認方法によって結果が変わるため、意図しない結果が返ってきて期待通りの処理にならず困るときがあります。

それぞれの確認方法でどのような結果となるのか整理してみましょう。

if($x)Isset()empty()is_null()
$x=1;truetruefalsefalse
$x="";falsetruetruefalse
$x="abc";truetruefalsefalse
$x="0";falsetruetruefalse
$x=0;falsetruetruefalse
$x=NULL;falsefalsetruetrue
$xfalsefalsetruetrue
$x=array();falsetruetruefalse
$x=array('a','b');truetruefalsefalse

より詳細はPHPの公式サイトを確認してください。