Выбор ответа Junior Типы и строгая типизация спрашивают часто обновлено

Разница == и ===

Вопрос

Чем === отличается от ==?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: === сравнивает значение и тип без приведения типов. == выполняет приведение типов: "1" == 1 даёт true, null == false тоже. === требует совпадения типа и значения.

Варианты ответа

  1. === сравнивает только ссылки на объекты, а не значения
  2. === медленнее и нужен только для сравнения массивов
  3. === сравнивает значение и тип без приведения типовправильный ответ
  4. Разницы нет с PHP 8: == тоже перестал приводить типы

Разбор

== выполняет приведение типов: "1" == 1 даёт true, null == false тоже. === требует совпадения типа и значения. Для объектов === проверяет, один ли это экземпляр, а == сравнивает свойства. В PHP 8 правила == стали разумнее, но приведение никуда не делось.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.