如何在会话中存储相同的值?

时间:2012-10-03 07:53:43

标签: php session

我正在构建一个结帐系统,我正在尝试将产品添加到会话变量中。但我仍然坚持要如何拯救他们。如何保存例如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 )

我希望将它保存为数组,对此最好的方法是什么?

1 个答案:

答案 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";
}