Использование массивов по ссылке

Почему следующий код "дает сбой" в PHP?

$normal_array       = array();
$array_of_arrayrefs = array( &$normal_array );

end( $array_of_arrayrefs )["one"] = 1; // choking on this one

Ожидаемый результат состоит в том, что к последней строке кода добавляется $normal_array с ключом one, имеющим значение 1, но не выводится вообще ничего, даже не выводятся данные, предшествующие этому коду. В реальном контексте этого сценария я использую функцию end (), чтобы всегда добавлять к последней ссылке на массив.

Когда вы говорите «сбой», вы имеете в виду «сообщение о синтаксической ошибке» или «выдачу ошибки времени выполнения» с некоторым описанием?

Bobby Jack 10.10.2008 19:05

Никаких выводов, даже распечаток, предшествующих этому коду.

sharkin 10.10.2008 19:15

возможный дубликат Как я могу использовать ссылки на массивы внутри массивов в PHP?

Benjamin Gruenbaum 21.01.2014 20:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
671
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это не сбой, а просто синтаксическая ошибка:

end( $array_of_arrayrefs )["one"] = 1;

К сожалению, вы не можете обрабатывать возвращаемые функции как массивы в PHP. Вы должны указать значение явно. К сожалению, здесь это не работает, потому что end копирует возвращаемое значение.

Другие вопросы по теме