PHP 中的 !== 比较运算符是啥意思?
Posted
技术标签:
【中文标题】PHP 中的 !== 比较运算符是啥意思?【英文标题】:What does !== comparison operator in PHP mean?PHP 中的 !== 比较运算符是什么意思? 【发布时间】:2010-11-20 20:23:51 【问题描述】:我看到了
if($output !== false)
这是一个带有两个等号的感叹号。
它几乎就像不相等一样。它有什么额外的意义吗?
【问题讨论】:
见***.com/questions/80646/… 和***.com/questions/1139154/… Reference - What does this symbol mean in php?的可能重复 【参考方案1】:它们是严格相等运算符(===, !==),两个操作数必须具有相同的类型和值才能使结果为真。
例如:
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
更多信息:
PHP Comparison Operators【讨论】:
【参考方案2】:PHP 的 === 运算符使您能够比较或测试变量的相等性和类型。
所以 !== 是(不是 ===)
【讨论】:
【参考方案3】:!==
检查变量的类型和值。比如,
$a = 1;
$b = '1';
if ($a != $b) echo 'hello';
if ($a !== $b) echo 'world';
将只输出“世界”,因为$a
是一个整数,$b
是一个字符串。
您应该查看PHP operators 上的手册页,其中有一些很好的解释。
【讨论】:
【参考方案4】:看到这个问题:How do the equality (==) and identity (===) comparison operators differ?。
'!==' 是不等于的严格版本。 IE。它还会检查类型。
【讨论】:
【参考方案5】:是的,它还会检查这两个值是否属于同一类型。如果 $output 为 0,则 !== 将返回 false,因为它们既不是数字也不是布尔值。
【讨论】:
以上是关于PHP 中的 !== 比较运算符是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章