在PHP中的array_walk()中递增一个整数

时间:2017-09-24 13:29:11

标签: php array-walk

我需要为数组的索引orders2使用递增的值,我尝试了以下内容:

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

$i行中未知$i++;

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

1 个答案:

答案 0 :(得分:2)

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

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

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