在foreach循环中添加数字PHP

问题描述:

我有一个foreach loop,它通过OpenCart中的许多产品列出。我想返回一个名为$subTotal的变量的总数 - 但它只返回最后一个产品的价格,如果它是=++++都会返回错误。在foreach循环中添加数字PHP

更新 - 我要补充一点,单独$product['total']回音必£100例如(不£100它只是回声的货币符号和数字)

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

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

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

您编辑包括字符..你首先需要做串号和删除所有数据除0.0小数 – AlphaApp 2012-07-26 12:32:00

编辑

您可以通过这样做

<?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语句

+0

请张贴的全部代码。 – AlphaApp 2012-07-26 12:26:43

+0

嗨编辑包括字符..你首先需要使字符串数字和删除所有数据,除了0.0小数 – AlphaApp 2012-07-26 12:32:11

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

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

的问题是,要设置$subTotal等于$product['total']。您需要将$product['total']添加到$subTotal

foreach ($products as $product) { 
    $subTotal=+$product['total']; ?> 
} 

foreach ($products as $product) { 
    $subTotal += $product['total']; 
?>