Iam是PHP的新手。
Iam正在制作一个简单的购物车。
现在我遇到了在购物车上添加总计的问题
我的问题是:-
当我的购物车有2件商品时,可以看到
总价格:800总价格:860
我想一次看到Total。
这是我的代码:
<?php if (!empty($_SESSION["shopping_cart"])) {
$totalAll = 0;
foreach ($_SESSION["shopping_cart"] as $key => $value) {
?>
<p style="float: right;" class="h4">Total Price: <?php echo $totalAll = $totalAll + ($value['quantity']*$value['price']);
?></p>
<?php
}
}
?>
答案 0 :(得分:0)
您可以实现获得总计的目标:
示例:
<?php
$totalAll = 0; // initialize with 0
// example array with item name, qty, amount, you will use your array here.
$array = array(
array('qty'=>1,'price'=>8,'name'=>'product 1'),
array('qty'=>1,'price'=>9,'name'=>'product 2')
);
// foreach loop for your items.
foreach ($array as $key => $value) {
$totalAll += ($value['qty']*$value['price']); // this will save your amount.
}
// print outside the loop which display your grand total at once.
echo "Total PRice: ".$totalAll; // 17
?>
在您的代码中,您正在循环内使用回声,其中+
无效,这将在您的代码中打印两次。
如果您想像购物车的总计一样一次打印,则需要像示例中那样在循环内保存金额。
编辑(带有示例代码):
<?php
if (!empty($_SESSION["shopping_cart"])) {
$totalAll = 0;
foreach ($_SESSION["shopping_cart"] as $key => $value) {
$totalAll += ($value['quantity']*$value['price']);
?>
<?php
}
}
?>
<p style="float: right;" class="h4">
Total Price: <?=$totalAll?>
</p>