0

我有一个foreach loop列出了 OpenCart 中的许多产品。我想在一个名为的变量中返回总计$subTotal- 但是它只返回最后一个产品价格,如果它是=++++所有返回错误。

更新- 我应该补充一下,例如,它$product['total']会单独回显(不仅仅是回显货币符号和数字)£100£100

<?
####
// START ***********
####
$subTotal=0;
foreach ($products as $product) {
    $subTotal=$product['total'];
?>

 <!--<?=$product['total']?>-->

<?
    $subTotal++;
}
####
// END ***********
####
?>
<?=$subTotal?>
4

5 回答 5

4

编辑

你可以这样做

<?php 
// create vars
$x=$product['total'];

// remove pound signs etc
$x=str_replace("£", "", $x);
$x=str_replace("&pound;", "", $x);

// loop and or add to the variable subTotal
$subTotal += $x;

foreach ($products as $product) {
    $subTotal+= preg_replace('/[^\d\.]/','',$product['total']);

}
echo $subTotal;
?>

在你的 foreach 语句中

于 2012-07-26T12:22:29.800 回答
0
$subTotal += $product['total'];
于 2012-07-26T12:26:47.177 回答
0

尝试$subTotal += $product['total'];

于 2012-07-26T12:27:56.813 回答
0
foreach ($products as $product) {
    $subTotal += $product['total'];
?>
于 2012-07-26T12:28:23.557 回答
-1

问题是您设置$subTotal为等于$product['total']。您需要添加$product['total']$subTotal.

foreach ($products as $product) {
    $subTotal=+$product['total']; ?>
} 
于 2012-07-26T12:28:02.543 回答