Php 如何向会话数组添加值而不丢失以前的值?

Php 如何向会话数组添加值而不丢失以前的值?,php,symfony,session,symfony4,Php,Symfony,Session,Symfony4,我正在尝试创建产品列表页面,每个产品都有一个链接,可以在“购物车”数组会话中添加产品。链接类似于?id=1,?id=2,?id=3等。通过单击每个链接,我希望将其添加到阵列会话中,而不删除以前的链接。我用这个: if (!empty($_getvars['id'])) { $data[$_getvars['id']] = $_getvars['id']; $session->set('cart', $data); } print("<pre>"); print

我正在尝试创建产品列表页面,每个产品都有一个链接,可以在“购物车”数组会话中添加产品。链接类似于
?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会话,我如何才能做到这一点呢?

您只需首先检索它:

if(!empty($\u getvars['id'])){
$data=$session->get('cart');
$data[$\u getvars['id']=$\u getvars['id'];
$session->set('cart',$data);
} 
打印(“”);
打印($session->get('cart'));

查看$sessiontanks上的Symphony文档,我也可以请求您的帮助吗@阿利希克斯酒店
$_SESSION['cart'][$_getvars['id']] = "...";
$_SESSION['cart'][$_getvars['id']] = "...";
if (!empty($_getvars['id'])) {

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

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