PHPにてif文がfalseと満たされる条件は、下記値が条件式に書かれた場合です。
false NULL 整数の0 浮動小数点の0.0 空の文字列「""」 文字列"0" 要素が0の配列 プロパティとメソッドをもたないオブジェクト |
ここで、注意が必要となる点は、文字列”0.0″は、falseではないということです。
たとえば下記のコードは、trueとみなされます。
if ( "0.0" ) { echo "条件はtrueです\n"; } else { echo "条件はfalseです\n"; } |
↓
条件はtrueです
ただし、浮動小数点の0.0はfalseなので、下記のように明示的なキャストを行うと結果はfalseになります。
if ( (double)"0.0" ) { echo "条件はtrueです\n"; } else { echo "条件はfalseです\n"; } |
↓
条件はfalseです
この点は勘違いしやすいので気を付ける必要があります。
関連記事
コメントを残す