PHP 数组总结会话值在删除逗号后不添加项目
PHP array sum up session value not adding item after removing comma
我正在尝试使用以下代码将一组价格的总和相加:
foreach ($_SESSION['cart'] as $item) {
$sum += str_replace(",", "", $item['price']);
echo $sum;
}
上面的 $item['price']
是 10,000 and 5,000
并且我使用 str_replace
删除逗号并将值与 +=
相加而不是 echo $sum
给出 15000
它给出 1000015000
我不知道我哪里弄错了。
试试这个:
foreach ($_SESSION['cart'] as $item) {
$sum += intval(str_replace(",", "", $item['price']));
}
echo $sum;
您的代码有效。问题不在于您的价值观或您的 +=
。问题是您在 foreach 中回显总和,这意味着您首先添加 10000,然后回显。然后加上 5000,这会给你 15000,然后你在你已经回显的第一个 10000 之后回显。
只需将 echo 放在 foreach 之后 就可以了。
foreach ($_SESSION['cart'] as $item) {
$sum += str_replace(",", "", $item['price']);
}
echo $sum;
我正在尝试使用以下代码将一组价格的总和相加:
foreach ($_SESSION['cart'] as $item) {
$sum += str_replace(",", "", $item['price']);
echo $sum;
}
上面的 $item['price']
是 10,000 and 5,000
并且我使用 str_replace
删除逗号并将值与 +=
相加而不是 echo $sum
给出 15000
它给出 1000015000
我不知道我哪里弄错了。
试试这个:
foreach ($_SESSION['cart'] as $item) {
$sum += intval(str_replace(",", "", $item['price']));
}
echo $sum;
您的代码有效。问题不在于您的价值观或您的 +=
。问题是您在 foreach 中回显总和,这意味着您首先添加 10000,然后回显。然后加上 5000,这会给你 15000,然后你在你已经回显的第一个 10000 之后回显。
只需将 echo 放在 foreach 之后 就可以了。
foreach ($_SESSION['cart'] as $item) {
$sum += str_replace(",", "", $item['price']);
}
echo $sum;