Добавить числа в цикл foreach PHP

У меня есть foreach loop, в котором перечислены продукты в OpenCart. Я хочу вернуть общее количество в переменной с именем $subTotal, однако она возвращает только последнюю цену продукта, если это =+ или +++ все возвращаемые ошибки.

Обновление. Я должен добавить, что только $product['total'] будет отображать, например, £100 (а не £100, он просто отображает символ валюты и числовое значение)

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

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

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

person TheBlackBenzKid    schedule 26.07.2012    source источник
comment
Ваше редактирование включает символы. Сначала вам нужно сделать строку числом и удалить все данные, кроме десятичных знаков 0,0.   -  person AlphaApp    schedule 26.07.2012


Ответы (3)


ИЗМЕНИТЬ

Вы можете сделать это с помощью

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

person donald123    schedule 26.07.2012
comment
Привет, редактирование включает символы. Сначала вам нужно сделать строку числом и удалить все данные, кроме десятичных знаков 0,0. - person AlphaApp; 26.07.2012

Попробуйте $subTotal += $product['total'];

person MoMo    schedule 26.07.2012

Проблема в том, что вы устанавливаете $subTotal равным $product['total']. Вам нужно добавить $product['total'] к $subTotal.

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