Я пытаюсь использовать переменные сеанса на веб-сайте электронной коммерции. Идея состоит в том, чтобы начать сеанс, если он еще не запущен. Если сеанс уже существует, то я хочу проверить, существует ли новый элемент, который был добавлен, в массиве сеансов. Если это так, то я бы просто увеличил количество, если не добавить его к текущему массиву сеансов.Добавление многомерных массивов в PHP
Проблема в том, что добавление не работает. Я получаю первый и второй массивы, но вместо того, чтобы добавлять третий, второй массив продолжает переписываться в любое время, когда нажата кнопка добавления в корзину. Вот мой код
<?php
if(isset($_SESSION['cart'])){
$newItems = '';
$cart = $_SESSION['cart'];
foreach($cart as $item => $value){
//$size, $colour, $quantity and $price are the current $_GET values
if($prodId == $value['prodId'] && $value['colour'] == $colour && $value['size'] == $size && $value['price'] == $price){
$value['qty']+= $quantity;
}else{
$newItems = array('prodId'=>$prodId,'price'=>$price,'qty'=>$quantity,'colour'=>$colour,'size'=>$size);
$cart []= $newItems;
}
}
}else{
$_SESSION['cart'] []= array('prodId'=>$prodId,'price'=>$price,'qty'=>$quantity,'colour'=>$colour,'size'=>$size);
}
?>
На самом деле не знает, где это пошло не так, я такую гнилую удачу с многомерными массивами. Любая помощь будет оценена по достоинству.
Добро пожаловать в переполнение стека! Пожалуйста, правильно отформатируйте свой код. Кодовый блок вставлен путем отступов 4 пробела перед любой строкой кода. На этот раз я отформатировал код для вас, но в следующий раз отформатируйте его правильно. Дополнительную помощь можно найти в разделе [Редактирование FAQ] (http://stackoverflow.com/editing-help#code) –