我想使用 $_SESSION
将商品存储在购物车中。这些项目由 id
定义,每个项目有 3 个尺寸,每个尺寸都会存储项目的数量。我想像那样使用多维关联数组
$_SESSION['cart']['id'.$_GET['id']]['size'.$_POST['size']]['quantity'] += $_POST['quantity'];
但我想我遇到的问题(注意: undefined index
)是因为数组没有首先定义。
我想保持简单,那么最简单的方法是什么?
最佳答案
您的问题是您只是假设这些项目是在 $_SESSION
中设置的。您需要假设它们不是,然后从添加它们开始。
你会利用 isset()
.
if(!isset($_SESSION['cart']['id'.$_GET['id']])) {
$_SESSION['cart']['id'.$_GET['id']] = array(
'sizeONE' => array(
'quantity' => 0
),
'sizeTWO' => array(
'quantity' => 0
),
'sizeTHREE' => array(
'quantity' => 0
),
);
}
您显然需要修改以上内容,以便可能仅根据需要设置产品 ID,然后运行相同类型的 isset()
以添加所选尺寸。我只是向您展示如何创建初始结构数组。
关于PHP 填充多维关联数组 - 最简单的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250678/