在php.net寫入以下:比較型串的數值
如果你比較多個具有一個字符串或比較涉及數字串,則每一個字符串被轉換爲數字和比較數值進行。這些規則也適用於switch語句。當比較結果爲
===
或!==
類型轉換不會發生,因爲這涉及比較的類型以及該值
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
爲什麼在第一個例子中它被評估爲true,但是,語句$ num =(int)「1e1」;評估爲1而不是10此外,爲什麼在第二個例子中它被評估爲true,但是語句$ num =(int)「1e2」;評估爲1而不是100?
http://stackoverflow.com/questions/11489549/ php-string-comparison-using – Krzysztek