先日、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