我对SESSION数组有疑问。
我只是在不同的会话中添加项目和数量。我使用这样的代码:
$_SESSION['idproduct'] = $id.",";
$_SESSION['qtyproduct'] = $qty.",";
我已经写了条件,所以如果我们添加3项:
,会话的值将是这样的$_session['idproduct'] = 1,4,6,
$_session['qtyproduct'] = 3,4,5,
我的问题是如果我获得了ID,如何更新数量?
答案 0 :(得分:0)
您可以使用explode
功能并将其他项目推送到array
$items = explode($_SESSION['idproduct']);
$items[] = $your_new_value;
print_r($items); // this will you the values inside the array.
$_SESSION['idproduct'] = implode(',', $items);
答案 1 :(得分:0)
将它们存储为数组,这样您就可以使用ID作为键来访问数量:
$_SESSION['quantity'][$id] = $quantity;
因此,不是将您的ID和数量存储在两个单独的字符串中,而是将它们放在一个数组中,并将ID作为键。在数组上方转换示例将如下所示:
array(
1 => 3
4 => 4
6 => 5
);
然后,如果您想添加/调整任何内容,只需将$id
和$quantity
设置为适当的值,然后使用上面的行。
答案 2 :(得分:0)
实现目标的最佳方法是将数量存储为产品ID作为键的值,因此如果您有:
idproduct = 1,4,6,
qtyproduct = 3,4,5,
将其存储为:
$_SESSION['qtyproduct'] = array(
1 => 3,
4 => 4,
6 => 5,
);
现在,如果您有产品ID:
$id = 4;
您可以通过以下方式访问数量:
$quantity = $_SESSION['qtyproduct'][$id];
并使用:
进行修改$_SESSION['qtyproduct'][$id] = 7;