我正在尝试在电子商务网站中使用会话变量。这个想法是如果一个会话还没有开始,就开始一个会话。如果已经有一个会话,那么我想检查添加的新项目是否已经存在于会话数组中。如果是这样,那么我只会增加数量,如果没有,则附加到当前会话数组。
问题是附加不起作用。我得到了第一个和第二个数组,但不是添加第三个数组,而是在单击添加到购物车按钮时不断被覆盖。这是我的代码
<?php
if(isset($_SESSION['cart'])){
$newItems = '';
$cart = $_SESSION['cart'];
foreach($cart as $item => $value){
//$size, $colour, $quantity and $price are the current $_GET values
if($prodId == $value['prodId'] && $value['colour'] == $colour && $value['size'] == $size && $value['price'] == $price){
$value['qty']+= $quantity;
}else{
$newItems = array('prodId'=>$prodId,'price'=>$price,'qty'=>$quantity,'colour'=>$colour,'size'=>$size);
$cart []= $newItems;
}
}
}else{
$_SESSION['cart'] []= array('prodId'=>$prodId,'price'=>$price,'qty'=>$quantity,'colour'=>$colour,'size'=>$size);
}
?>
真的不知道哪里出错了,我对多维数组的运气太差了。任何帮助将不胜感激。