История изменений
Исправление rechnick, (текущая версия) :
И кстати поведение пятого примера там не описано.
Не вижу смысла описывать все 100500 примеров этой хрени. Фраза из справки 21 года (свежая онлайн сейчас недоступна): «Иными словами, поведение отдельных элементов массива не зависит от типа присвоения этого массива». Если в пятом примере вместо $X = array(&$a[‘a’]); сделать $X = &$a[‘a’]; то на выходе будет &int(2). Что ещё более странно.
Для себя я это объясняю так: если на значение в массиве появляется ссылка, то все переменные на это значение волшебным образом становятся ссылками. Скорей всего абсолютно неграмотно объяснил, но уж как смог.
Исходная версия rechnick, :
И кстати поведение пятого примера там не описано.
Не вижу смысла описывать все 100500 примеров этой хрени. Фраза из справки 21 года (свежая онлайн сейчас недоступна): «Иными словами, поведение отдельных элементов массива не зависит от типа присвоения этого массива». Если в пятом примере вместо $X = array(&$a[‘a’]); сделать $X = &$a[‘a’]; то на выходе будет &int(2). Что ещё более странно.
Для себя я это объясняю так: если на значение появляется ссылка, то все переменные на это значение волшебным образом становятся ссылками. Скорей всего абсолютно неграмотно объяснил, но уж как смог.