什么!PHP中的比较运算符是什么意思?

时间:2009-08-19 06:22:53

标签: php comparison operators

我看到了

if($output !== false){
}

这是一个带有两个等号的感叹号。

它几乎不相同。它有什么额外的意义吗?

5 个答案:

答案 0 :(得分:32)

它们是严格的相等运算符(===,!==),两个操作数必须具有相同的类型和值才能使结果为真。

例如:

var_dump(0 == "0"); //  true
var_dump("1" == "01"); //  true
var_dump("1" == true); //  true

var_dump(0 === "0"); //  false
var_dump("1" === "01"); //  false
var_dump("1" === true); //  false

更多信息:

答案 1 :(得分:5)

PHP ===运算符使您可以比较或测试相等和类型的变量。

所以!==是(不是===)

答案 2 :(得分:4)

!==检查变量的类型以及值。例如,

$a = 1;
$b = '1';
if ($a != $b) echo 'hello';
if ($a !== $b) echo 'world';

将仅输出'world',因为$a是一个整数,$b是一个字符串。

您应该查看PHP operators上的手册页,它有一些很好的解释。

答案 3 :(得分:3)

请参阅此问题:How do the equality (==) and identity (===) comparison operators differ?

'!=='是不相等的严格版本。即它也会检查类型。

答案 4 :(得分:2)

是的,它还会检查这两个值是否相同。如果$ output为0,那么!==将返回false,因为它们不是数字或布尔值。