!==
和 !=
在 PHP 中有什么区别吗?
!==
和 !=
在 PHP 中有什么区别吗?
!=
运算符比较值,而 !==
运算符同时比较数据类型。var_dump(5!="5"); // bool(false)
var_dump(5!=="5"); // bool(true), because "5" and 5 are of different types
==
与 ===
在处理类型时有所不同 - 例如,数字字符串(“5”,“05”)将被视为数字进行比较,并且不同顺序的关联数组仍然可以相等。我会将 ===
描述为“完全相同”,而不是“相等的值和类型”。 - Brilliand!=
是==
运算符的反义词,用于检查不同类型之间的相等性。
!==
是===
运算符的反义词,仅用于检查相同类型之间的相等性。
!=
表示“不等于”,而!==
表示“不全等”。例如:
'1' != 1 # evaluates to false, because '1' equals 1
'1' !== 1 # evaluates to true, because '1' is of a different type than 1
!==检查类型和值,!=只检查值。
$num = 5
if ($num == "5") // true, since both contain 5
if ($num === "5") // false, since "5" is not the same type as 5, (string vs int)
=== 被称为恒等运算符,在其他问题的回答中有详细讨论。
这里其他人的回答也是正确的。
如果两个操作数的值不同,运算符!=
返回true。
如果两个操作数的值不同或者它们的类型不同,运算符!==
返回true。
祝好!