Есть ли разница между! == и! = В PHP? - PullRequest
11 голосов
/ 16 июля 2009

Есть ли разница между !== и != в PHP?

Ответы [ 7 ]

29 голосов
/ 16 июля 2009

Оператор != сравнивает значение, а оператор !== также сравнивает тип.

Это значит:

var_dump(5!="5"); // bool(false)
var_dump(5!=="5"); // bool(true), because "5" and 5 are of different types
8 голосов
/ 16 июля 2009

!= является инверсией оператора ==, который проверяет равенство между типами

!== является инверсией оператора ===, который проверяет равенство только для вещей одного типа.

4 голосов
/ 16 июля 2009

!= для «не равно», а !== для «не одинаково». Например:

'1' != 1   # evaluates to false, because '1' equals 1
'1' !== 1  # evaluates to true, because '1' is of a different type than 1
3 голосов
/ 16 июля 2009

! == проверяет тип и значение,! = Проверяет только значение

$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)
2 голосов
/ 16 июля 2009

=== называется оператором идентификации. И подробно обсуждается в ответах на другие вопросы.

Ответы других здесь также верны.

1 голос
/ 16 июля 2009

Оператор != возвращает true, если два его операнда имеют разные значения.

Оператор !== возвращает значение true, если два его операнда имеют разные значения или они имеют разные типы.

ура

1 голос
/ 16 июля 2009

См. Таблицы сравнения типов PHP о том, какие значения равны (==) и какие идентичны (===).

...