Я использую приведенный ниже код и хочу увеличить количество в массиве сеанса, но его не работает
if(!empty($_SESSION['quote']))
{
$prdata=$_SESSION['quote'];
}
$product_id = $data['id'];
$product_image = $data['image'];
$product_name = $data['pname'];
$product_quantity = $data['quantity'];
$product_price = $data['price'];
foreach ($_SESSION["quote"] as $cart_itm){
if($cart_itm['product_id'] == $product_id){ //the item exist in array
$newdat = array('product_id' => $product_id,'quantity'=>$product_quantity,'price'=>$product_price,'name'=>$product_name,'image'=>$product_image);
$found = true;
}else{
$newdat = array('product_id' => $product_id,'quantity'=>$product_quantity,'price'=>$product_price,'name'=>$product_name,'image'=>$product_image);
}
Вам не нужно снова помещать туда product_id
и т.д., просто измените сумму. Ваш код будет короче, яснее, и вы избежите других возможных опечаток и т.д.
if($cart_itm['product_id'] == $product_id) {
$cart_itm['quantity'] += $product_quantity; // expect in $product_quantity is the amount you want to add to the current one
// it a shorter variant of $cart_itm['quantity'] = $cart_itm['quantity'] + $product_quantity;
}
+= -1
правильно уменьшает сумму.