Выбор ответа Senior ООП, трейты и интерфейсы обновлено

Сравнение объектов

Вопрос

Что вернут $a == $b и $a === $b для двух разных объектов одного класса с одинаковыми значениями свойств?

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

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

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

Коротко

Правильный ответ: true и false. == сравнивает объекты по классу и значениям свойств (рекурсивно, что может быть дорого и даже зациклиться на циклических ссылках). === проверяет, что это один и тот же экземпляр.

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

  1. true и falseправильный ответ
  2. false и false
  3. true и true
  4. false и true

Разбор

== сравнивает объекты по классу и значениям свойств (рекурсивно, что может быть дорого и даже зациклиться на циклических ссылках). === проверяет, что это один и тот же экземпляр. Для доменных объектов-значений лучше явный метод equals(), чем полагаться на ==.

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

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