Допустим на примере данного сайта:
ссылка
Есть массив с товарами и опциями к ним. Как можно добавлять в корзину только уникальные значения?
$product_id = $_POST['product_id'];
$product_options = $_POST['options'];
$products = array();
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
} else {
$products = $_SESSION['cart']['products'];
}
// массив с товарами
$products = array(
array(
'product_id' => 1,
'name' => 'Пирожок с картошкой',
'price' => 50,
'options' => array(
array(
'option_id' => 1,
'name' => 'с сыром',
'price' => 40
),
array(
'option_id' => 2,
'name' => 'с мясом',
'price' => 80
),
array(
'option_id' => 3,
'name' => 'с вишней',
'price' => 20
)
)
),
array(
'product_id' => 2,
'name' => 'Пицца',
'price' => 300,
'options' => array(
array(
'option_id' => 4,
'name' => 'с сыром',
'price' => 50
),
array(
'option_id' => 5,
'name' => 'с колбасой',
'price' => 80
),
array(
'option_id' => 6,
'name' => 'с помидорами',
'price' => 30
)
)
)
)
Вариантов у опций может быть много (radio и checkbox), если товар и опции повторяются, то увеличивать их на 1.
А если не повторяются, то добавлять как новый товар в корзину.
Насколько я понял первый товар добавляется без проверок, а вот последующие товары как в цикле проверять на повтор?