Undefined array key — обращение к отсутствующему ключу
Предупреждение возникает, когда код читает ключ, которого нет в массиве. Исправление зависит от того, обязателен ли этот ключ.
$value = $data['missing'];Диагностика
Сначала выясните контракт данных: ключ должен приходить всегда или он необязателен. Затем проверьте точное написание, регистр, форму входного массива и место его формирования.
Необязательное значение
<?php
$city = $profile['city'] ?? 'Не указан';Обязательное значение
Если отсутствие ключа означает повреждённые данные, молчаливый fallback скрывает ошибку. Проверьте array_key_exists() и выбросьте предметное исключение с безопасным сообщением.
isset или array_key_exists
isset($data['key']) возвращает false и при null. array_key_exists('key', $data) сообщает именно о наличии ключа. Выберите функцию по смыслу null в вашей модели.
Варианты сообщения
В PHP 7 похожая ситуация часто формулировалась как Undefined index. Номер строки указывает место чтения, но источник проблемы может находиться раньше — при разборе запроса или сборке массива.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.