1

我需要为orders2数组的索引使用一个递增的值,并且我尝试了以下方法:

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

里面说$i的是未知数$i++;

我知道我可以使用foreach(),但我想知道是否array_walk()有常规循环的行为。任何意见将不胜感激!

4

1 回答 1

4

$i不在您的匿名函数的范围内。您必须告诉函数将其导入:

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

您需要将其作为参考导入,否则它将创建副本$i而不是修改外部变量。

于 2017-09-24T13:35:28.080 回答