我正在构建一个结帐系统,我正在尝试将产品添加到会话变量中。但我仍然坚持要如何拯救他们。如何保存例如5种产品?
我尝试使用类似的东西,但这不起作用:
$_SESSION['cart']['productIds']['id'] .= $_POST['productid'];
$_SESSION['cart']['productPrices']['price'] .= $_POST['price'];
输出是这样的(产品的两倍,ID为2,价格为20):
Array ( [productIds] => Array ( [id] => 22 ) [productPrices] => Array( [price] => 2020 )
我希望将它保存为数组,对此最好的方法是什么?
答案 0 :(得分:3)
您应该将会话变量视为数组而不是字符串。使用[]
运算符附加到它:
$_SESSION['cart']['products'][] = array(
'id' => $_POST['productid'],
'price' => $_POST['price'],
);
如果需要,您还可以使用array_push()
。稍后您可以迭代以下产品:
foreach ($_SESSION['cart']['products'] as $product) {
echo $product['id'], ': ', $product['price'], "\n";
}