我正在写代码从购物车中删除项目。我不想使用unset($_SESSION['cart'])
来取消设置整个会话变量,而是针对各个数组元素。假设在物品行上按下remove
按钮将提交存储在变量'isbn'
中的唯一ID。PHP未设置会话变量由元素
为什么这不起作用? unset($_SESSION['cart'][$_POST['isbn']]) ;
我的解决方法:
$isbn[] = $_POST['isbn'] ;
$_SESSION['cart'] = array_diff($_SESSION['cart'],$isbn);
你显示的内容应该工作。这需要进行基本的调试:'$ _POST ['isbn']'包含什么?它是否100%地匹配会话数组中的值?使用'print_r()'输出数组并仔细检查值。 – 2012-02-19 14:48:57
我认为问题可能是[9] => $ _POST ['isbn']是实际值,例如9780192814968但为了这个工作,我需要告诉程序哪个键我想解除 – raoulbia 2012-02-19 15:00:47
'$ isbn'中的值是一个字符串,而$ _SESSION ['cart']'中的键是一个整数? – thetaiko 2012-02-19 15:35:21