使用PHP从数据库检索后汇总值

使用PHP从数据库检索后汇总值,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,我正在从mysql数据库获取一些信息,并使用以下脚本显示它(我正在使用Codeigniter) 现在我要做的是将$row['amount']中的所有值相加并将求和的值放入$sum\u value中,以便在回显$sum\u值时得到以下值 45,250.84 你能告诉我怎么做吗 我知道我可以用mysql做一些求和的事情,但是我想学习如何这样做 提前感谢:)通过foreach在每个循环中迭代添加到您的总和: $sum = 0; foreach ( $records as $row ) { $su

我正在从mysql数据库获取一些信息,并使用以下脚本显示它(我正在使用Codeigniter)

现在我要做的是将
$row['amount']中的所有值相加
并将求和的值放入
$sum\u value
中,以便在回显$sum\u值时得到以下值

45,250.84
你能告诉我怎么做吗

我知道我可以用mysql做一些求和的事情,但是我想学习如何这样做


提前感谢:)

通过foreach在每个循环中迭代添加到您的总和:

$sum = 0;
foreach ( $records as $row ) {
  $sum += str_replace(",", "", $row['amount']);
}

echo number_format( $sum, 2 );

也许是这样的:

<?
if(count($records) > 0) {
   $i = $this->uri->segment(3) + 0; 
   $sum_value = 0;
   foreach ($records as $row){ 

      $i++; // Don't know what you use $i for, get rid of it if unnecessary

      // Add value to the sum
      $sum_value += (float)str_replace(",", "", $row["amount"]); 

      // Print the current value
      echo $row['amount'] + "<br/>";

   }

   echo $sum_value;  // Print the total sum after the loop

} else { 
   echo "No Record Found";
} ?>

首先,您需要将其转换为正确的数字:

$nums = array_map(function(&$row) {
   return (float) str_replace(',', '',$row['amount']);
}, $records);
然后您可以使用
数组\u sum

echo number_format(array_sum($nums), 2);

行不通。他的数字是PHP将被认为是10, 20的字符串。15@d_inevitable说得好。去掉逗号就可以正确地施法。@black_belt天才在苹果商店工作。我只是一个开发者;)
$nums = array_map(function(&$row) {
   return (float) str_replace(',', '',$row['amount']);
}, $records);
echo number_format(array_sum($nums), 2);