Мне нужно использовать увеличенное значение для индекса orders2
массива, и я пробовал следующее:
$i = 0;
array_walk($arr1, function(&$a) {
$i++;
$a['orders2'] = $i;
});
Который говорит $i
неизвестно в линии $i++;
,
Я знаю, что могу использовать foreach()
но я хочу знать, если array_walk()
имеет поведение регулярной петли. Любые замечания будут оценены!
$i
не входит в сферу вашей анонимной функции. Вы должны указать функции для ее импорта:
$i = 0;
array_walk($arr1, function(&$a) use (&$i) {
$i++;
$a['orders2'] = $i;
});
Вам нужно будет импортировать его как ссылку, потому что в противном случае он создаст копию $i
вместо изменения внешней переменной.
Других решений пока нет …