Есть ли разница между !==
и !=
в PHP?
Есть ли разница между! == и!= В PHP?
Ответ 1
Оператор !=
сравнивает значение, а оператор !==
также сравнивает тип.
Это означает:
var_dump(5!="5"); // bool(false)
var_dump(5!=="5"); // bool(true), because "5" and 5 are of different types
Ответ 2
!=
является инверсией оператора ==
, который проверяет равенство по типам
!==
является обратным к оператору ===
, который проверяет равенство только для вещей того же типа.
Ответ 3
!=
для "не равно", а !==
- для "не идентично". Например:
'1' != 1 # evaluates to false, because '1' equals 1
'1' !== 1 # evaluates to true, because '1' is of a different type than 1
Ответ 4
! == проверяет тип, а также значение,!= проверяет только значение
$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
=== называется Оператором идентификации. И обсуждается подробно в других ответах.
Ответы других также верны.
Ответ 6
См. таблицы сравнения типов PHP, на какие значения равны (==
) и то, что идентично (===
).
Ответ 7
Оператор !=
возвращает true, если его два операнда имеют разные значения.
Оператор !==
возвращает true, если его два операнда имеют разные значения или имеют разные типы.
веселит