【问题标题】:How to add a value to session array without loosing previous values?如何在不丢失先前值的情况下向会话数组添加值?
【发布时间】:2019-10-23 14:49:27
【问题描述】:

我正在尝试创建产品列表页面,每个产品都有一个链接可以将产品添加到“购物车”数组会话中。链接就像?id=1?id=2?id=3 等,通过单击每个链接我想将其添加到数组会话而不删除以前的链接。我用这个:

if (!empty($_getvars['id'])) {
    $data[$_getvars['id']] = $_getvars['id'];
    $session->set('cart', $data);
} 
print("<pre>");
print_r($session->get('cart'));

我正在使用带有本地会话选项的 symfony 会话组件。 $_getvars['id'] 实际上就像 $_GET['id']。这段代码的问题是,我丢失了以前的值,并且每次我在会话中都有最新选择的 id 产品。如何解决? 我知道一个解决方案是这样的:

$_SESSION['cart'][$_getvars['id']] = "...";
$_SESSION['cart'][$_getvars['id']] = "...";

但是当我使用 symfony 会话时,我该怎么做呢?

【问题讨论】:

  • 检查 $session 上的 Symphony 文档

标签: php symfony session symfony4


【解决方案1】:

您应该只需要先检索它:

if (!empty($_getvars['id'])) {

    $data = $session->get('cart');

    $data[$_getvars['id']] = $_getvars['id'];
    $session->set('cart', $data);
} 
print("<pre>");
print_r($session->get('cart'));

【讨论】:

猜你喜欢
  • 2023-03-21
  • 2018-02-01
  • 2022-11-26
  • 2012-10-28
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
相关资源
最近更新 更多