我看到了
if($output !== false){
}
这是一个带有两个等号的感叹号。
它几乎不相同。它有什么额外的意义吗?
答案 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,因为它们不是数字或布尔值。