php数组购物车问题?
我有以下代码:php数组购物车问题?,php,arrays,shopping-cart,Php,Arrays,Shopping Cart,我有以下代码: if($_SESSION['basket']){ $i=0; while($i < count($_SESSION['basket'])) { if(is_array($_SESSION['basket'][$i][$product['productid']]) && $_SESSION['basket'][$i][$product['productid']]['material']==$_POST['material
if($_SESSION['basket']){
$i=0;
while($i < count($_SESSION['basket'])) {
if(is_array($_SESSION['basket'][$i][$product['productid']]) && $_SESSION['basket'][$i][$product['productid']]['material']==$_POST['material'] && $_SESSION['basket'][$i][$product['productid']]['size']==$_POST['size']){
$_SESSION['basket'][$i][$product['productid']]['qty']+=$_POST['qty'];
}else{
echo $i."-4";
$_SESSION['basket'][][$product['productid']] = array("qty"=>$_POST['qty'], "material"=>$_POST['material'],"size"=>$_POST['size']);
}
$i++;
}
}else{
$_SESSION['basket'][][$product['productid']] = array("qty"=>$_POST['qty'], "material"=>$_POST['material'],"size"=>$_POST['size']);
}
当我向购物篮中添加一个项目时,产品显示的数量是2,而我只添加了1,有时还会添加额外的产品。有人能帮我吗?我会再次检查$\u SESSION['basket'][$I][$product['productid']['qty']加上$\u POST['qty']是否等于您想要的初始值,重复一下,如果还没有,请确保它们是INT
试一试
$_SESSION['basket'][$i][$product['productid']]['qty'] = $_SESSION['basket'][$i][$product['productid']]['qty'] + $_POST['qty'];
而不是使用+=运算符。过去它给了我很多问题
或者您的count$\u会话['basket']可能等于2,因此需要运行两次加法。我建议您在执行操作时,为更短、更具描述性的变量名分配巨大的变量名值。这将使这一切变得容易得多。例如$prodID=&$_会话['basket'][$i][$product['productid']]。现在,您可以在$prodID上执行所有操作了。嗨,Codemonkey,我完全同意您的看法,我是在解决了问题后才这样做的。Thanks@Dino你已经发布了15个问题。您应该学习如何正确格式化代码块,这样其他人就不必一直为您修复它们。永远不要使用标签或标签。选择代码并单击工具栏上的{}按钮,或手动将每行缩进4个空格。要以内联方式编写代码,如下图所示,请将文本包装为“backticks”。请