我需要为数组的索引orders2
使用递增的值,我尝试了以下内容:
$i = 0;
array_walk($arr1, function(&$a) {
$i++;
$a['orders2'] = $i;
});
在$i
行中未知$i++;
。
我知道我可以使用foreach()
,但我想知道array_walk()
是否具有常规循环的行为。任何意见将不胜感激!
答案 0 :(得分:2)
$i
不在您的匿名函数范围内。你必须告诉函数导入它:
$i = 0;
array_walk($arr1, function(&$a) use (&$i) {
$i++;
$a['orders2'] = $i;
});
您需要将其作为参考导入,否则它将创建$i
的副本,而不是修改外部变量。