2013-10-15 46 views
2

爲什麼會這樣表達式求值爲真在PHP:字符串評價(0)

0 == " UNKNOWN" 
+0

所以你說'0 == 「UNKNOWN」'也是如此? –

+0

你是說你在比較'int'和'string'嗎? – Floris

+0

很多字符串在PHP中評估爲'0';道德是永遠不會使用==。 (或者PHP,就此而言 - 如果你能幫到的話) – Ryan

回答

0
$string == " UNKNOWN"; 
var_dump((int)$string); //gives 0 

所以它的計算結果爲真。

2

你在做兩個變量之間的鬆散比較;在loose comparison table中涵蓋了使用該運算符的規則。

2

==將對您的值中的一個進行類型匹配以匹配其他值。

(int)" UNKNOWN"返回0

(int)0返回0

所以

0==" UNKNOWN"true