更新会话数组php中的值

时间:2014-05-30 12:33:35

标签: php arrays session

我对SESSION数组有疑问。

我只是在不同的会话中添加项目和数量。我使用这样的代码:

$_SESSION['idproduct'] = $id.",";
$_SESSION['qtyproduct'] = $qty.",";

我已经写了条件,所以如果我们添加3项:

,会话的值将是这样的
$_session['idproduct'] = 1,4,6,
$_session['qtyproduct'] = 3,4,5,

我的问题是如果我获得了ID,如何更新数量?

3 个答案:

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