2013-02-27 363 views
0

我學習CakePHP的,我看到很多條件語句,如:==和===有什麼區別?

if(x === y){ 
} 

我看着它,但我沒有發現任何東西。

+0

http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use – Epsilon 2013-02-27 09:07:23

+0

好的,謝謝所有 – 2013-02-27 09:19:11

回答

2

==比較兩個變量的值。如果它們屬於不同類型,則將它們轉換爲通用類型然後進行比較。

===,而另一方面,更嚴格。它要求雙方都是同一類型的。

php> = 5 == "5" 
true 
php> = 5 === "5" 
false 
+0

好的,謝謝!!!! – 2013-02-27 09:13:26

2

==港島線做汽車類型轉換,===不會

這意味着:

0 == "0"評估爲TRUE,因爲在內部比較字符串和數字時,一個字符串使用==時轉換爲數字。

0 === "0"的計算結果爲FALSE,沒有完成類型轉換並且整數0不等於字符串。在documentationmore documentation

更多信息。

+0

也爲0 == 「東西」評估爲真。這是爲什麼它的錯誤編碼不能在使用字符串或使用字符串時使用嚴格的比較。詳細信息請參見[上一章](http://www.dereuromark.de/2013/01/22/cakephp-tips/)。規則應該「儘可能嚴格」。 – mark 2013-02-27 09:11:53

+0

好的,非常感謝 – 2013-02-27 09:18:44