Как правильно сформировать массив с корзиной?
Делаю корзину для магазина. Добавил в корзиуну товар и из самой корзины можно изменить количество, при обновлении резулатов данные отправляются в файл обработчик корзины, откуда компонуется в массив и уже этот массив попадает обратно в корзиную Так вот вроде все работает, но это только когда 1 товар в корзине, когда товаров больше одного, получается так, что записывается новые результаты только в товар который стоит последним, я так понимаю потому что это иззп того что в обработчик поочередно отправляются все данные и если названия данных повторяются то они просто перезаписываются и в итоге остаются данные только последнего товара и добавление в массив идет уже именно этих данных. ТАк вот, как сделать так что бы данные отправлялись и обрабатывались пачками или как можно еще из такой ситуации выйти?
Вот так выглядят данные с одним товаром:
А вот так, когда товара уже два:
Вот так выглядит код обработчика:
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');//Обязательная строка инициирующая движок Битрикса, но не подключающая шаблон
$id = $_POST['id'];//Получаем из глабального массива $_POST id товара
$name = $_POST['name'];//Получаем имя
$kol = $_POST['kol'];//Получаем количество
$kol2 = $_POST['kol2'];//Получаем количество2
$price = $_POST['price'];//Получаем цену
$bouquet = $_POST['bouquet'];//Получаем тип букета
if (!empty($_SESSION['BX_CART']['ids'])) {//Проверяем существует ли наша корзина в массиве $_SESSION
$arChart= $_SESSION['BX_CART']['ids'];//Если да то получаем текущиие данные о корзине
} else {
$_SESSION['BX_CART'] = [];//Если нет присваиваем пустой массив
}
$arChart[$id] = ["bouquet" => $bouquet,
"id" => $id,
"name" => $name,
"kol" => $arChart[$id]['kol']+$kol-$kol2,
"price" => $price
];
//Значение элемента массива с id товара увеличиваем на введенное количество
$_SESSION['BX_CART']['ids'] = $arChart;
//Сохраняем в сесии массив с корзиной
echo count($_SESSION['BX_CART']['ids']);//Возвращаем количество отдельных позиций в корзине

