【发布时间】:2013-08-20 22:05:32
【问题描述】:
所以我的代码是
如果($活动){ foreach ($activities 作为 $activity) { $price = $activity['price']; if($price) {echo $price;}; } }我想添加 $price 字段的值以获得总计来回显
【问题讨论】:
-
在循环之前声明
$price,然后在每次迭代中递增,然后echo结果。
所以我的代码是
如果($活动){ foreach ($activities 作为 $activity) { $price = $activity['price']; if($price) {echo $price;}; } }我想添加 $price 字段的值以获得总计来回显
【问题讨论】:
$price,然后在每次迭代中递增,然后echo 结果。
真正的工作在这一行进行,每次循环迭代(出现)时都会增加总数:$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;
【讨论】:
为什么要使用循环?我会使用array_sum()。
$total = array_sum(array_filter(array_values($activities)));
array_values 返回所有值。 array_filter 过滤掉任何评估为假的东西(如 null 或 0)。 array_sum 把它们加起来。
函数式编程是您的朋友。 :-)
【讨论】: