我使用'=='做了一些字符串測試。我知道比較字符串'=='不是方式,但是我想解決一個奇怪的行爲。使用'=='的PHP字符串比較
我正在關注本頁面中的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」爲數字,他們是不相等的。比較結果應該輸出boolean false。
爲什麼這種奇怪的行爲?謝謝!
順便說一句,這就是爲什麼通常最好使用'==='而不是'==',因爲結果更具可預測性! – 2012-07-15 05:07:38