ходить по массиву — увеличивать целое число в array_walk () в переполнении стека

Мне нужно использовать увеличенное значение для индекса orders2 массива, и я пробовал следующее:

$i = 0;
array_walk($arr1, function(&$a) {
$i++;
$a['orders2'] = $i;
});

Который говорит $i неизвестно в линии $i++;,

Я знаю, что могу использовать foreach() но я хочу знать, если array_walk() имеет поведение регулярной петли. Любые замечания будут оценены!

1

Решение

$i не входит в сферу вашей анонимной функции. Вы должны указать функции для ее импорта:

$i = 0;
array_walk($arr1, function(&$a) use (&$i) {
$i++;
$a['orders2'] = $i;
});

Вам нужно будет импортировать его как ссылку, потому что в противном случае он создаст копию $i вместо изменения внешней переменной.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector