Выбор ответа Junior Массивы изнутри обновлено

isset или array_key_exists

Вопрос

Ключ email есть в массиве, но его значение null. Что вернут проверки?

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

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

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

Коротко

Правильный ответ: isset вернёт false, а arraykeyexists вернёт true. isset проверяет, что значение существует и не null, а arraykeyexists только наличие ключа. isset быстрее, это языковая конструкция, но для различения «ключа нет» и «значение null» нужен arraykeyexists. empty дополнительно считает пустыми…

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

  1. isset вернёт false, а array_key_exists вернёт trueправильный ответ
  2. Обе вернут true: ключ в массиве присутствует
  3. Обе вернут false: значение null равно отсутствию
  4. isset вернёт true, array_key_exists вернёт false

Разбор

isset проверяет, что значение существует и не null, а array_key_exists только наличие ключа. isset быстрее, это языковая конструкция, но для различения «ключа нет» и «значение null» нужен array_key_exists. empty дополнительно считает пустыми 0, "", "0" и [].

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

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