==和===有什么区别?

时间:2013-02-27 09:03:40

标签: php

我正在学习cakephp,我看到很多条件:

if( x === y){
}

我找了它,但我找不到任何东西。

2 个答案:

答案 0 :(得分:2)

==会自动进行类型转换,===不会

这意味着:

0 == "0"的计算结果为TRUE,因为在比较字符串和数字时,在使用==时,字符串会转换为数字。

0 === "0"评估为FALSE,没有进行类型转换,整数0不等于字符串。

documentationmore documentation中的更多信息。

答案 1 :(得分:2)

==比较两个变量的值。如果它们属于不同类型,则将它们转换为通用类型然后进行比较。

另一方面,

===更严格。它要求双方也属于同一类型。

php> = 5 == "5"
true
php> = 5 === "5"
false