Есть ли разница между !==
и !=
В PHP?
Оператор !=
Сравнивает значение, а оператор !==
сравнивает тип.
Это означает:
var_dump(5!="5"); // bool(false) var_dump(5!=="5"); // bool(true), because "5" and 5 are of different types
!=
является инверсией оператора ==
, который проверяет равенство по типам
!==
является обратным оператору ===
, который проверяет равенство только для вещей того же типа.
!=
для «не равно», а !==
для «не идентично». Например:
'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, какие значения равны ( ==
) и то, что идентично ( ===
).
Оператор !=
Возвращает true, если его два операнда имеют разные значения.
Operator !==
возвращает true, если его два операнда имеют разные значения или имеют разные типы.
ура