php - 在 Foreach 循环中获取值的总和
问题描述
我有一个 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] </td>
<td>$qty[$a] </td>
<td>$prod_cost1[$a] </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] </td>
<td>$qty[$a] </td>
<td>$prod_cost1[$a] </td>
</tr>";
}
// access it
echo $total_sum;
推荐阅读
- python - 内置工具,用于快速提取给定等级的元组与 [1, 2, ..., n] 上的等级相关
- php - php pdo 简单 htmldom 站点地图 多语言
- vb.net - DocuSign JWT 访问令牌请求
- r - 应用函数或循环函数
- java - 在资源目录中获取属性文件的路径,而不是从库根目录(两个文件名相同)
- python-3.x - 导入实用程序时出现问题.py
- python - 如何使图像在 tkinter 中的函数内工作
- coq - 如何排列列表中的元素
- ios - 以编程方式添加 UIView,分配一个类,删除它,用不同的类重复(Swift 4)
- javascript - 用另一个对象更新 javascript 对象,但只更新现有的键