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 中的 !== 比较运算符是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Java中compareTo是啥意思?

java中这个符号“=”是啥意思?

thinkphp <if> 标签比较中的 或者 用 OR ,那么 且 是否用 AND 或者是啥?

SQL中的自然连接是啥意思啊?

PHP 中的动态比较运算符

php学习笔记-php中的比较运算符