php bool false と値 0
リダイレクト: http://home.phpchina.com/space.php?uid=108724&do=blog&id=54899
PHP は緩やかに型指定された言語です。つまり、ブール値 false と整数値 0 は同じように扱われます (c でさえ 0 と false を同等として扱います)。次のスクリプトを使用すると、0 とブール値 ?false が等しいかどうかを判断できます:
?
?$test_var = 0;
?if($test_var == false){
??echo "yes";
?}else{
? ?echo "いいえ";
?}
?>?
?
出力: はい
?
_____________________________________________________________________________________________________
?
?$test_var = 0;
?if($test_var !== false){
??echo "yes";
? }else{
??echo "no";
?}
?>
?
出力: はい
?
____________________________________________________________________________
?
問題は、ブール値 false と整数値 0 が明らかに異なることです。
?
?
PHP には、変数の型を取得する gettype() 関数があります。 === 演算子を使用できます (等号が 3 つあります)。 == 演算子との違いは、この演算子 がデータ の値と型を同時に比較することです。
?
異なる変数型が終了条件に関係する場合、?=== 演算子と ?!== 演算子を使用して強力な型チェックを実行することが重要です。
?