php不等于,不等于,等于

时间:2009-12-04 11:05:10

标签: php operators equality

我一直在看这个变种:

不相等 !=

不相等,相等

!==

哪一个是标准还是它们有不同的含义?

我猜测后者还检查值和名称,如果它是一个字符串,而 前者可能只检查价值......

4 个答案:

答案 0 :(得分:19)

==!=按值检查相等性,在PHP中,您可以比较某些值被认为是等效的不同类型。

例如,"" == 0的计算结果为true,即使一个是字符串而另一个是整数。

===!==检查类型以及值。

因此,"" === 0将评估为false


编辑:要添加另一个“类型杂耍”可能会让你感到惊讶的例子,试试这个:

var_dump("123abc" == 123);

提供bool(true)

答案 1 :(得分:6)

第二个是类型严格的。

"1" != 1;  // false
"1" !== 1; // true because the first is a string, the second is a number

答案 2 :(得分:5)

!=不等于值

!==不等于值并输入

答案 3 :(得分:1)

在一个例子中:

"2" == 2 -> true

"2" === 2 -> false


"2" !== 2 -> true

"2" != 2 -> false

当您使用可以返回0false

的特定功能时,这也是重要

例如strpos:您希望始终检查类型,而不仅仅是值。因为0 == false但是0 !== false

因为如果字符串位于第一个位置,strpos可以返回0。但这与false不一样,这意味着尚未找到该字符串。