【问题标题】:increment an integer in a array_walk() in PHP在 PHP 的 array_walk() 中增加一个整数
【发布时间】:2017-09-24 13:29:11
【问题描述】:

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

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

$i$i++; 行中是未知的。

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

【问题讨论】:

    标签: php array-walk


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 2011-07-22
      相关资源
      最近更新 更多