這是最近開始發生的奇怪事情。PHP轉換(整數)返回字符串
function someFunction() {
return 0;
}
if (someFunction() == 0)
runCode();
elseif (someFunction() == '0')
runOtherCode();
在這種情況下runCode()不會被調用,而是runOtherCode()將被調用。爲什麼會發生這種情況?
編輯:使用===在某些情況下修復了此錯誤。但是另一次出現這個問題的時候是從數據庫返回整數結果。出於某種原因,將整數轉換爲字符串,但在返回數據之前向數據添加(int)可修復該錯誤。
即使「someFunction」的結果被轉換爲字符串,這也沒有關係。您正在使用不檢查類型的'=='進行比較,因此'0'== 0'的計算結果爲true(''0'=== 0'但是不是)。 – fstanis 2014-09-27 00:04:03
爲了讓我們更有幫助,可以在這裏發佈你的實際代碼。當然,除非這是你的實際代碼。 – Bono 2014-09-27 00:04:15
別的地方有點不對勁,查看這個demo http://3v4l.org/tsDPj – 2014-09-27 00:12:31