Есть ли разница между!== и! = В PHP?
Есть ли разница между !==
а также !=
в PHP?
7 ответов
!=
оператор сравнивает значение, в то время как !==
Оператор также сравнивает тип.
Это означает, что это:
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)
Оператор !=
возвращает true, если два его операнда имеют разные значения.
оператор !==
возвращает true, если два его операнда имеют разные значения или они имеют разные типы.
ура
=== называется оператором идентификации. И обсуждается подробно в ответах на другие вопросы.
Ответы других здесь также верны.
Смотрите таблицы сравнения типов PHP о том, какие значения равны (==
) а что идентично (===
).