Как получить доступ к текущему индексу в array_reduce?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как получить доступ к текущему индексу в array_reduce?

Сообщение Anonymous »

Прочитав этот пост SO, я знаю, что в PHP вы можете получить индекс при итерации с помощью array_map как таковой:

Код: Выделить всё

array_map(function($item, $index) { ... }, $items, array_keys($items));
Как я могу получить доступный мне $index при использовании array_reduce? Я пробовал:

Код: Выделить всё

array_reduce($items, array_keys($items), function($acc, $item, $index) { ... }, array());

array_reduce($items, function($acc, $item, $index) { ... }, array(), array_keys($items));
Но мне все еще не удается получить $index в array_reduce. Кто-нибудь успешно делал это раньше?

РЕДАКТИРОВАТЬ

Вот некоторый контекст относительно почему я задаю этот вопрос.

Я не хочу использовать foreach, потому что мне пришлось бы изменять массив за пределами foreach в для создания моей коллекции. Я бы предпочел избегать мутаций.

Другие языки позволяют использовать сокращение и получить доступ к текущему индексу, как в JavaScript и Ruby. Я надеялся получить ту же функцию в PHP. Ну что ж! Похоже, мне придется использовать foreach для создания моего массива, одновременно имея текущий индекс на итерации.

Подробнее здесь: https://stackoverflow.com/questions/542 ... ray-reduce
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»