我正在寫代碼從購物車中刪除項目。我不想使用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