У меня возникла проблема, которая немного раздражает. Вот мой PHP-код. Игнорировать, откуда происходят переменные. Это для функциональности корзины покупок, но оно применимо во многих разных областях.Правильный способ ввода значений в массив PHP?
$data_set = json_decode(stripslashes($_POST['varA']), true);
$pid = $pid['product_id'];
$quantity = $pid['quantity'];
$_SESSION['cartid'] = $_SESSION['cartid'] + 1;
$product_data = array("Product_ID" = > $pid, "quantity" = > $quantity, "cartid" = > $_SESSION['cartid']);
Моя проблема возникает в этом месте в коде. Сначала я проверяю, имеет ли переменная Session значение в ней, если нет, то она начинает создавать ассоциативный массив.
if (empty($_SESSION['cart_items'])) {
$_SESSION['cart_items'] = array("items" = > $product_data);
} else {
array_push($_SESSION['cart_items']['items'], $product_data);
}
echo json_encode($_SESSION['cart_items']);
Конечный результат после того, как первый элемент "добавлен" выглядит следующим образом:
{
"items": {
"Product_ID": "2",
"quantity": "1",
"cartid": 1
}
}
Однако после нескольких первых оного, каждое значение получает ключ:
{
"items": {
"0": {
"Product_ID": "2",
"quantity": "1",
"cartid": 2
},
"1": {
"Product_ID": "2",
"quantity": "1",
"cartid": 3
},
"Product_ID": "2",
"quantity": "1",
"cartid": 1
}
}
Как предотвратить появление этих ключей? Это возможно? Если нет, как это можно переписать так, чтобы ключи добавлялись каждый раз? И разве это возможно разобрать и проскочить в JS на лицевой стороне?
Извините, у меня так много вопросов. Любая помощь действительно ценится.
Что вы хотите, чтобы это выглядело вместо этого? – deceze