【发布时间】:2010-11-11 11:14:53
【问题描述】:
PHP 中!== 和!= 有区别吗?
【问题讨论】:
-
非常常见的重复问题,具体取决于您搜索答案的方式:stackoverflow.com/questions/80646/…
标签: php comparison operators
PHP 中!== 和!= 有区别吗?
【问题讨论】:
标签: php comparison operators
!= 运算符比较值,而 !== 运算符也比较类型。
这意味着:
var_dump(5!="5"); // bool(false)
var_dump(5!=="5"); // bool(true), because "5" and 5 are of different types
【讨论】:
== 对类型的处理也与=== 略有不同——例如,将数字字符串(“5”、“05”)作为数字进行比较,不同顺序的关联数组仍然可以平等的。我会将=== 描述为“完全相同”,而不是“相等的值和类型”。
!= 是 == 运算符的逆运算符,它检查类型之间的相等性
!== 与 === 运算符相反,后者仅检查相同类型的事物是否相等。
【讨论】:
!= 表示“不相等”,而!== 表示“不相等”。例如:
'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)
【讨论】:
=== 称为身份运算符。并在其他问题的回复中详细讨论。
这里其他人的回答也是正确的。
【讨论】:
运算符!= 返回真,如果它的两个操作数有不同的值。
运算符!== 返回真,如果它的两个操作数具有不同的值或者它们是不同的类型。
干杯
【讨论】:
请参阅PHP type comparison tables,了解哪些值相等 (==) 和哪些值相同 (===)。
【讨论】: