2014-10-25 5 views
-1

Я делаю систему корзины покупок, используя сеансы. Мне нужно сделать unset 1/all values ​​в массиве, который равен значению $ _GET. Как это может быть сделано?

Я попытался использовать функцию unset(), но я не знаю, как ее форматировать при использовании значения $ _GET. Все учебники я видел, только показывает, как сбросить то, что указан непосредственно в скрипте ...

EDIT: Это то, что я получаю, когда я var_dump мою сессию: array(1) { [0]=> array(13) { [0]=> NULL [1]=> string(1) "1" [2]=> string(1) "3" [3]=> string(1) "2" [4]=> string(1) "2" [5]=> string(1) "3" [6]=> string(1) "1" [7]=> string(1) "3" [8]=> string(1) "2" [9]=> string(1) "1" [10]=> string(1) "3" [11]=> string(1) "3" [12]=> string(1) "3" } }

Я нахожусь добавив товар в корзину с этой строки кода:

array_push($_SESSION['cart'], $_GET['item']); 

Где $ _SESSION [ «телега»] является корзина и $ _GET [ «вещь»] является идентификатор элемента, который добавляется

+0

Вы что-то пробовали? – PeeHaa

+0

Можете ли вы показать нам структуру корзины покупок? – Ali

+0

Просто добавили структуру на вопрос – user2372837

ответ

1

Вы можете просто заменить его значение

$_SESSION['cart']=array_diff($_SESSION['cart'], $_GET['item']); 

EDIT

Make sure $_SESSION['cart'], $_GET['item'] have same structure 

UPDATE

if(is_array($_GET['item']) && is_array($_SESSION['cart'])) 
{ 
foreach($_GET['item'] as $value) 
{ 
    foreach($_SESSION['cart'] as $key=>$val) 
    { 
    if($value == $val) 
    { 
    unset($_SESSION['cart'][$key]); 
    break; 
    } 
    } 
} 
} else { echo "error";} 
+0

Помогает ли обновленный ответ? –

+0

wait wait аргумент # 2 не является массивом .. означает, что ваш $ _GET ['item'] не является массивом –

+0

Хорошо, я просто получил его на работу. Можно ли удалить только 1 из значений, равных $ _GET? – user2372837

0

, предполагающей в вашей корзине есть Структура нг, вы можете просто использовать эту функцию, чтобы сбросить его

$cart = array("cat1" => array("product_1", "product_2"), "cat2" => array("product_3", "product_4")); 
unset($cart[$_GET['category']]); 
+0

Ничего не случилось ... – user2372837

+0

Можете ли вы показать нам структуру вашей корзины покупок? какой-то код? – Ali

+0

Просто добавил несколько примеров того, как я добавляю предметы в корзину – user2372837

Смежные вопросы