Страницы

Поиск по вопросам

среда, 17 октября 2018 г.

Как удалить запись массива из сессии - PHP

есть вот такой массив в котором лежит 3 товара и передается через $_SESSION['shopping_cart'][]
array(3) { [0]=> array(3) { ["variant_id"]=> int(154) ["amount"]=> int(1) ["lvl"]=> int(1) } [1]=> array(3) { ["variant_id"]=> int(157) ["amount"]=> int(1) ["lvl"]=> int(6) } [2]=> array(3) { ["variant_id"]=> int(167) ["amount"]=> int(1) ["lvl"]=> int(0) } }
Как мне удалить товар с variant_id = 157, то-есть весь массив [1], но я знаю только variant_id. Буду благодарен за вашу помощь!


Ответ

Как вариант можно через цикл:
$arr = [ ['variant_id' => 154, 'amount' => 1, 'lvl' => 1], ['variant_id' => 157, 'amount' => 1, 'lvl' => 6], ['variant_id' => 167, 'amount' => 1, 'lvl' => 0] ];
foreach($arr as $key => $value) { if ($value['variant_id'] == 157) unset($arr[$key]); }
print_r($arr);
Второй вариант с помощью функции array_filter
$id = 157;
$arr = array_filter($arr, function ($x) use ($id) { return $x['variant_id'] !== $id; });
print_r($arr);

Комментариев нет:

Отправить комментарий