【问题标题】:The best way to increase every item of php array by the same value将php数组的每个项目增加相同值的最佳方法
【发布时间】:2012-12-22 08:53:03
【问题描述】:

将php数字数组的每一项增加相同值的最佳方法是什么?

基于此question 在 SO 这个问题的最佳答案之一是:

foreach($array as $key => &$val) { 
  $val+=5;//   typo   $val[$key]+=5; was just fixed.
}

正确吗?

有没有更好/更短/更快的方法来做到这一点?

【问题讨论】:

  • 3 行快速执行的代码。你为什么要用另一种方式......这很容易且可读性强。
  • 如果你不使用$key - 不要在foreach中指定它

标签: php arrays string reference foreach


【解决方案1】:

您的代码 is 实际上是错误的;它不会起作用,但这会:

foreach ($array as &$val) { 
  $val += 5;
}

这可能也是最快的,一个简单的foreach 并且没有函数调用。

【讨论】:

    【解决方案2】:

    这是 更短的 oneliner:

    array_walk($array, function(&$i) { $i += 5; });
    

    而且它不是您需要优化和找到的最快的代码,因此请选择更易读的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多