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

13

我看到了

if($output !== false){
}

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

它几乎像不等于符号一样工作。它有额外的特殊含义吗?


请参见以下链接,了解关于相等和恒等比较运算符的区别:https://dev59.com/MXVD5IYBdhLWcg3wHn2d - VolkerK
请仅返回翻译后的文本:和https://dev59.com/cHM_5IYBdhLWcg3w-4nw - VolkerK
5个回答

32

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

例如:

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

更多信息:


5

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

因此,!==表示(不是===)


5

!== 运算符不仅检查变量的值,还检查其类型。例如,

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

当变量$a是整数而$b是字符串时,将只输出'world'。

您应该查看PHP运算符的手册页面,它有一些很好的解释。


3

2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接