我从数据库中回复一些数字,只显示带有foreach的数字。我现在想要计算这些数字的总和。
$test = str_replace('\\', '', $orderDetails['jsonData']);
$bonbonOrders = unserialize($test);
foreach($bonbonOrders as $bonbonOrder){
foreach($bonbonOrder as $bonbons){
echo $bonbons['gewicht'];
}
}
我尝试了几件事,但我真的不知道如何计算它们。
示例的输出可以是:
18 15 16 12 11
谢谢!
答案 0 :(得分:2)
这取决于您从数据库中获取这些数字的方式。但是,由于您要反序列化某些内容,我将假设它无法在简单的SQL查询中完成。
以下代码应该显示所有数字的总和。
$test = str_replace('\\', '', $orderDetails['jsonData']);
$bonbonOrders = unserialize($test);
$nums = array();
foreach($bonbonOrders as $bonbonOrder){
foreach($bonbonOrder as $bonbons){
$nums[] =$bonbons['gewicht'];
}
}
$total = array_sum($nums);
echo $total;
通过将所有数字添加到数组中并在最终数组上调用array_sum
来实现。
另一种选择是在$total = 0
之前创建foreach
,并在访问每个号码时简单地增加它。
答案 1 :(得分:1)
只需在变量中加入每个$bonbons['gewicht']
值并回显它
$test = str_replace('\\', '', $orderDetails['jsonData']);
$bonbonOrders = unserialize($test);
$sum =0;
foreach($bonbonOrders as $bonbonOrder){
foreach($bonbonOrder as $bonbons){
echo $bonbons['gewicht'];
$sum += $bonbons['gewicht'];
}
}
echo $sum;