Выбор ответа Junior Исключения и ошибки обновлено
Ошибки json_decode
Вопрос
Что вернёт json_decode("{bad json") без флагов?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: null, детали в jsonlasterror(). По умолчанию jsondecode возвращает null на ошибке, что неотличимо от корректного JSON null.
Варианты ответа
- Бросит
JsonExceptionс описанием ошибки - Вернёт пустой массив
[]вместо объекта null, детали вjson_last_error()правильный ответ- Вернёт
false, как многие функции PHP
Разбор
По умолчанию json_decode возвращает null на ошибке, что неотличимо от корректного JSON null. Флаг JSON_THROW_ON_ERROR (PHP 7.3) заставляет бросать JsonException. В PHP 8.3 появилась json_validate для проверки без декодирования.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.