[PHP] 0と””(空文字)を判定する方法

PHP

先日、0と””(空文字)の判定でつまづきました。

広告

$test1 = "";
$test2 = 0;

if($test1 == ""){
    echo "test1<br>";
}

if($test2 == ""){
    echo "test2";
}

//実行結果
test1
test2

==(緩やかな比較)では、0も””(空文字)も同じものとして扱われます。0と””を区別するには ===(厳密な比較) を使います。

$test1 = "";
$test2 = 0;

if($test1 === ""){
    echo "test1<br>";
}

if($test2 === ""){
    echo "test2";
}

//実行結果
test1

以下のマニュアルに詳しく記載されています。

PHP: PHP 型の比較表 – Manual

広告