ホームページ >バックエンド開発 >PHPチュートリアル >なぜ if(zero=='abc') が通るのでしょうか?
if(0=='abc') が
を通過するのはなぜですか? if(0=='abc') が true を示すのはなぜですか?原則についてアドバイスをお願いします
-----解決策--------------------------
if (0 = = intval('abc')) 弱い型。後者は前の型に変換され、比較されます。
を使用する必要があります 0 === 'abc '
-----解決策---------
'abc' が強制的に ( int) に変換されたため'abc'、0 == intval('abc') と同じ。 。
この動作には全く気づきませんでした。 。 PHP は方向性に反すると思います。
------解決策---------
文字列と数値を判断したい場合は、 will Strings は int 値を取るので、int の意味では abc は 0 なので、等しいと判断できます。そのため、型も判断されます。
------解決策---------
この比較は厳密ではありません。少なくとも === を使用してください
------解決策---------
var_dump((int) 'abc'); //int(0) <br><font color="#e78608">------解決策---------</font><br>ls は 2 人が回答しました。 if(0=='abc') は if(0==intval('abc')) と等しい <div class="clear"></div>