array_push() 无法使用 PHP 中的会话
array_push() not working with session in PHP
我正在使用 PHP,我想使用 array_push() 在 SESSION 中存储两个以上的产品。但问题是,在 array_push 之后,购物车中只显示了 2 件产品。当我添加了两个以上的产品时,它不会被添加到购物车中。
这是我的代码:
$dataArray = array();
$cartArray = array(
$code=>array(
'id' => $id,
'name' =>$name,
'price' =>$price,
'quantity' =>1)
);
if(empty($_SESSION["shopping_cart"])) {
$_SESSION["shopping_cart"] = $cartArray;
}
else {
array_push($dataArray, $_SESSION["shopping_cart"], $cartArray);
$_SESSION['shopping_cart'] = $dataArray;
}
您可以像下面提到的那样直接给数组赋值。
$_SESSION['shopping_cart'][] = $dataArray;
它会为“shopping_cart”创建一个二维数组,每次添加 $dataArray
它将存储在新密钥中,因此您可以获得包含所有项目的“shopping_cart”数组
有关数组的更多信息,请查看:- php arrays
请在下面找到解决方案:
<php
$cartArray = [
[
'id' => $id,
'name' =>$name,
'price' =>$price,
'quantity' =>1
],
[
'id' => $id,
'name' =>$name,
'price' =>$price,
'quantity' =>1
]
];
if(isset($_SESSION["shopping_cart"])){
if(empty($_SESSION["shopping_cart"])) {
$_SESSION["shopping_cart"] = $cartArray;
}
else {
array_push($_SESSION["shopping_cart"], $cartArray);
}
}
?>
我正在使用 PHP,我想使用 array_push() 在 SESSION 中存储两个以上的产品。但问题是,在 array_push 之后,购物车中只显示了 2 件产品。当我添加了两个以上的产品时,它不会被添加到购物车中。
这是我的代码:
$dataArray = array();
$cartArray = array(
$code=>array(
'id' => $id,
'name' =>$name,
'price' =>$price,
'quantity' =>1)
);
if(empty($_SESSION["shopping_cart"])) {
$_SESSION["shopping_cart"] = $cartArray;
}
else {
array_push($dataArray, $_SESSION["shopping_cart"], $cartArray);
$_SESSION['shopping_cart'] = $dataArray;
}
您可以像下面提到的那样直接给数组赋值。
$_SESSION['shopping_cart'][] = $dataArray;
它会为“shopping_cart”创建一个二维数组,每次添加 $dataArray
它将存储在新密钥中,因此您可以获得包含所有项目的“shopping_cart”数组
有关数组的更多信息,请查看:- php arrays
请在下面找到解决方案:
<php
$cartArray = [
[
'id' => $id,
'name' =>$name,
'price' =>$price,
'quantity' =>1
],
[
'id' => $id,
'name' =>$name,
'price' =>$price,
'quantity' =>1
]
];
if(isset($_SESSION["shopping_cart"])){
if(empty($_SESSION["shopping_cart"])) {
$_SESSION["shopping_cart"] = $cartArray;
}
else {
array_push($_SESSION["shopping_cart"], $cartArray);
}
}
?>