我有一个foreach loop
,它列出了OpenCart中的许多产品。我想在一个名为$subTotal
的变量中返回总数,但它只返回最后一个产品价格,如果是=+
或+++
,则所有返回错误。
更新-我应该补充一下,$product['total']
单独会回显£100
(而不是£100
,它只是回显货币符号和数字)
<?
####
// START ***********
####
$subTotal=0;
foreach ($products as $product) {
$subTotal=$product['total'];
?>
<!--<?=$product['total']?>-->
<?
$subTotal++;
}
####
// END ***********
####
?>
<?=$subTotal?>
编辑
你可以通过做到这一点
<?php
// create vars
$x=$product['total'];
// remove pound signs etc
$x=str_replace("£", "", $x);
$x=str_replace("£", "", $x);
// loop and or add to the variable subTotal
$subTotal += $x;
foreach ($products as $product) {
$subTotal+= preg_replace('/[^'d'.]/','',$product['total']);
}
echo $subTotal;
?>
在foreach语句中
尝试$subTotal += $product['total'];
foreach ($products as $product) {
$subTotal += $product['total'];
?>
$subTotal += $product['total'];
问题是您将$subTotal
设置为等于$product['total']
。您需要将$product['total']
添加到$subTotal
。
foreach ($products as $product) {
$subTotal=+$product['total']; ?>
}