Здравствуйте, друзья!
Подскажите, как мне реализовать такую задачу:
Я добавляю в корзину товар по id. Когда добавляю следующий, проверяю есть ли такой id в корзине: если есть - увеличиваю количество на 1, если нет - просто добавляю новый. Здесь все хорошо - работает.
Проблемы начинаются когда у меня параметр размера товара - size_id. Я также начинаю делать проверку: если есть товар с таким id - проверяю такого он размера или нет. Если такого - увеличиваю количество на 1, а вот если размер другой, мне нужно дублировать элемент (он я является массивом). Причем нужно чтобы его ключ был таким же - так как товар один и тот же.
Как мне это сделать? Подскажите, пожалуйста)
Вот функция добавления товара:
PHP:
скопировать код в буфер обмена
// Добавление товара в корзину function add2basket($prod_id, $prod_size, $qty = 1){ if(isset($_SESSION['basket'][$prod_id])){ // если добавляемый товар есть if($_SESSION['basket'][$prod_id]['size_id'] = $prod_size){ // если есть такого размера $_SESSION['basket'][$prod_id]['qty'] += $qty; }else{ // если не такого размера /* КАК написать функцию дублирования массива $_SESSION['basket'][$prod_id] с перезаписью элемента size_id? */ } }else{ // если добавляемого товара нет $_SESSION['basket'][$prod_id]['size_id'] = $prod_size; $_SESSION['basket'][$prod_id]['qty'] = $qty; } return $_SESSION['basket']; }
Вот массив на выходе:
CODE ( htmlphp):
скопировать код в буфер обмена
( ( ( [size_id] => 2 [qty] => 2 [cat_name] => Платок [brand_name] => Fofo [name] => Alpina 120 [price] => 352 [img] => tovar_4.jpg ) ) [total_sum] => 0 [total_qty] => 0 )
Элемент [1] => Array - это id товара
|