我遇到了一个有点烦人的问题。这是我的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 中解析和循环?
对不起,我有很多问题。非常感谢任何帮助。