繁体   English   中英

在Foreach循环中获取值的总和

[英]Get sum of values in Foreach loop

我有一个foreach循环,它添加了具有动态行的表中的所有行(按上一页的顺序为您想要的每个新产品添加行-有时可能是3个产品,有时可能是23个产品)创建了pdf购买订单(使用mpdf)。 对于每行显示(产品x数量=总)成本的行项目,我没有任何问题。 我的问题是将这些总计放入采购订单底部的单个“总计”成本中。

创建的PDF上的示例:

Product 1     $2 x 3 = $6
Product 2     $4 x 2 = $8
Product 3     $6 x 1 = $6

一切正常。 这是foreach循环的代码。

   <?php

foreach ($product as $a => $b) {

    $prod_cost1[$a] = (("$qty[$a]") * ("$prod_cost[$a]"));

    echo "
        <tr>
            <td>$product[$a] &nbsp;</td>
            <td>$qty[$a] &nbsp;</td>
            <td>$prod_cost1[$a] &nbsp;</td>
        </tr>";
}

?>

我只是某种程度上需要总计所有$ prod_cost1并能够将其显示在页面上的某处。 谢谢您的帮助!

  • 只需在循环开始之前再创建一个变量,然后在循环内对其进行递增即可。
  • 在处理数字时 (尤其是在像PHP这样的弱类型语言中) 使用适当的类型转换是一个好习惯 因此,我将产品成本定型为float

您可以使用以下代码:

// Initialize the total sum varaible
$total_sum = 0;

foreach($product as $a => $b) { 

    $prod_cost1[$a] = (("$qty[$a]") * ("$prod_cost[$a]"));

    // update the total sum (typecasting the product cost to float)
    $total_sum += (float)$prod_cost1[$a];

    echo"
         <tr>
         <td>$product[$a] &nbsp;</td>
         <td>$qty[$a] &nbsp;</td>
         <td>$prod_cost1[$a] &nbsp;</td>
         </tr>";
}

// access it
echo $total_sum;
$total = 0;
foreach($product as $a => $b) { 
    $prod_cost1[$a] = (("$qty[$a]") * ("$prod_cost[$a]"));

    $total += $prod_cost1[$a];

    echo"<tr>
        <td>$product[$a] &nbsp;</td>
        <td>$qty[$a] &nbsp;</td>
        <td>$prod_cost1[$a] &nbsp;</td>
    </tr>";
} 

echo "Total: {$total}";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM