在foreach循环中获取总计字段值

时间:2013-08-20 22:05:33

标签: php foreach sum

所以我的代码是


    if ($activities) {
      foreach ($activities as $activity) {
        $price = $activity['price'];
        if($price) {echo $price;};
      }
    }

我希望添加$ price字段的值以获得总回显

2 个答案:

答案 0 :(得分:2)

这一行继续进行实际工作,每次循环迭代时都会增加总数($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;

答案 1 :(得分:0)

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

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

array_values返回所有值。 array_filter过滤掉任何评估为false的内容(如null或0)。 array_sum将它们加起来。

功能编程是你的朋友。 : - )