Разница между == (двойной равностью) и === (тройной) в PHP?

Лучше всего почитать объяснение в официальной документации.

Оператор равенства == сравнивает две переменные с приведением типов, если это необходимо. Если 2 операнда имеют разный тип, они приводятся к одному, и затем сравниваются.

Оператор идентичности === проверяет, являются ли переменные равные и при этом имеют одинаковый тип. То есть, грубо говоря, если у операндов будет разный тип, то === сразу же вернёт false, не будет даже смотреть на их значения.

Я составил таблицу, которая наглядно демонстрирует, как 2 переменные соотносятся друг с другом.

‘===’ означает, что они считаются идентичными.
‘==’ означает, что они считаются равными.
‘!=’ означает, что они не считаются равными.

false null array() 0 "0" 0x0 "0x0" "000" "0000"
false === == == == == == != != !=
null == === == == != == != != !=
array() == == === != != != != != !=
0 == == != === == === == == ==
"0" == != != == === == == == ==
0x0 == == != === == === == == ==
"0x0" != != != == == == === == ==
"000" != != != == == == == === ==
"0000" != != != == == == == == ===
Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Нажимая кнопку «Отправить», я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта.