如何在PHP中用DB计算字符串中的数字

时间:2016-06-08 14:49:05

标签: php

我从数据库中回复一些数字,只显示带有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

谢谢!

2 个答案:

答案 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;