Каким типам данных запрещено присваивать индексное значение?

В PHP индексное значение (например, при обращении к массиву через квадратные скобки) запрещено присваивать следующим типам данных:

Короткий ответ

Что ответить на собеседовании

В PHP индексное значение (например, при обращении к массиву через квадратные скобки) запрещено присваивать следующим типам данных:

Подробный разбор

Ответ с пояснениями

В PHP индексное значение (например, при обращении к массиву через квадратные скобки) запрещено присваивать следующим типам данных:

  • Скалярным типам (int, float, string, bool) — они не являются массивами или объектами, поэтому нельзя делать что-то вроде $intVar[0] = 'a';.
  • NULL — нельзя присваивать индекс, так как NULL не является массивом или объектом.

Индексное присваивание возможно только для:

  • Массивов
  • Объектов, реализующих интерфейс ArrayAccess

Пример:

$arr = [];
$arr[0] = 'value'; // корректно

$intVar = 10;
$intVar[0] = 'a'; // ошибка

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее