【问题标题】:Get a total of field values in foreach loop获取foreach循环中的字段值总数
【发布时间】:2013-08-20 22:05:32
【问题描述】:

所以我的代码是

如果($活动){ foreach ($activities 作为 $activity) { $price = $activity['price']; if($price) {echo $price;}; } }

我想添加 $price 字段的值以获得总计来回显

【问题讨论】:

  • 在循环之前声明$price,然后在每次迭代中递增,然后echo 结果。

标签: php foreach sum


【解决方案1】:

真正的工作在这一行进行,每次循环迭代(出现)时都会增加总数:$total += $price;

$total = 0;
if ($activities) {
  foreach ($activities as $activity) {
    $price = $activity['price'];
    if($price) {
        echo $price; // do you still need this?
        $total += $price;
    }
  }
}
echo $total;

【讨论】:

    【解决方案2】:

    为什么要使用循环?我会使用array_sum()

    $total = array_sum(array_filter(array_values($activities)));
    

    array_values 返回所有值。 array_filter 过滤掉任何评估为假的东西(如 null 或 0)。 array_sum 把它们加起来。

    函数式编程是您的朋友。 :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      相关资源
      最近更新 更多