2013-02-27 365 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