Выбор ответа Junior PHP 8.x: enum, readonly, match обновлено
Оператор nullsafe
Вопрос
Что вернёт $order?->customer?->address?->city, если customer равен null?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: null без ошибок: цепочка оборвётся. Оператор ?- (PHP 8.0) возвращает null, если левая часть null, и не выполняет остаток цепочки (короткое замыкание).
Варианты ответа
Error: Call to a member function on null- Пустую строку
""вместо значения Warning: Attempt to read propertyиnullnullбез ошибок: цепочка оборвётсяправильный ответ
Разбор
Оператор ?-> (PHP 8.0) возвращает null, если левая часть null, и не выполняет остаток цепочки (короткое замыкание). Без него пришлось бы писать вложенные проверки. В отличие от ??, он не подавляет предупреждения о несуществующих свойствах.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.