如果产品已在会话中存在,如何增加产品数量

时间:2015-01-08 07:31:53

标签: php arrays session

我正在使用以下代码,并希望增加会话数组中的数量,但它不起作用

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); 

}

1 个答案:

答案 0 :(得分:0)

您不需要再次放置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's a shorter variant of $cart_itm['quantity'] = $cart_itm['quantity'] + $product_quantity; 
}