我正在构建的购物车似乎只更新了数组第一个元素的数量。因此,例如,我购物车中的第一个项目的数量为 1,然后当我从产品页面添加另一个数量 2 时,总数变为 3,这就是我想要的。但是,如果我对另一个项目重复这些步骤,它将分别将它们添加到数组中,而不是将它们组合在一起
if(isset($_GET['add'])){
foreach ($_SESSION['cart'] as $key => $item){
if ($item['id'] == $itemID) {
$newQuan = $item['quantity'] + $quantity;
unset($_SESSION['cart'][$key]);
$_SESSION['cart'][] = array("id" => $itemID,"quantity" => $newQuan);
header('Location:xxx');//stops user contsanlty adding on refresh
exit;
}
else{
$_SESSION['cart'][] = array("id" => $itemID,"quantity" => $quantity);
header('xxx');//stops user contsanlty adding on refresh
exit;
}
}
}
谁能帮我解释一下为什么只更新第一个元素?