「==」を使用して文字列でいくつかのテストを行いました。文字列 '==' を比較する方法ではないことはわかっていますが、解決したい奇妙な動作があります。
このページの PHP ドキュメントに従っています: http://www.php.net/manual/en/language.operators.comparison.php。これは私が行ったテストです
<?php
var_dump( "100" == "1e2" ); //outputs boolean true
var_dump( (int) "100" ); //int 100
var_dump( (int) "1e2" ); //int 1
?>
ドキュメントによると、文字列を数値と比較すると、PHP は最初に文字列を数値に変換しますが、'100' と '1e2' を数値に変換すると、それらは等しくありません。比較は、ブール型の false を出力する必要があります。
この奇妙な動作はなぜですか?ありがとう!