问题
Is there a difference between !==
and !=
in PHP?
回答1:
The !=
operator compares value, while the !==
operator compares type as well.
That means this:
var_dump(5!="5"); // bool(false)
var_dump(5!=="5"); // bool(true), because "5" and 5 are of different types
回答2:
!=
is the inverse of the ==
operator, which checks equality across types
!==
is the inverse of the ===
operator, which checks equality only for things of the same type.
回答3:
!=
is for "not equal", while !==
is for "not identical". For example:
'1' != 1 # evaluates to false, because '1' equals 1
'1' !== 1 # evaluates to true, because '1' is of a different type than 1
回答4:
!== checks type as well as value, != only checks value
$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)
回答5:
=== is called the Identity Operator. And is discussed in length in other question's responses.
Others' responses here are also correct.
回答6:
See the PHP type comparison tables on what values are equal (==
) and what identical (===
).
回答7:
Operator !=
returns true, if its two operands have different values.
Operator !==
returns true, if its two operands have different values or they are of different types.
cheers
来源:https://stackoverflow.com/questions/1139154/is-there-a-difference-between-and-in-php