【发布时间】:2021-06-17 18:30:14
【问题描述】:
php unset 正在工作,但重新加载会话数据仍然存在: 我正在构建简单的 addtocart 并从 php/symfony5 中的购物车中删除,但我无法在 symfony 会话中从多维数组中取消设置数组。
^ array:3 [▼
0 => array:1 [▼
"items" => array:4 [▼
0 => 9
1 => "Dry fruit"
2 => "1234"
3 => "250g"
]
]
1 => array:1 [▼
"items" => array:4 [▼
0 => 8
1 => "Pumpkin"
2 => "123"
3 => "x"
]
]
这是我的购物车控制器:
$basket = $session->get('basket',[]);
dump($basket);
$size = $session->get('size');
if($request->isMethod('POST')){
$id = $request->request->get('0');
foreach($basket as $key => $value){
if($value['items'][0] == $id){
unset($basket[$key]['items']);
dd($basket);
//$session->set('basket',[]);
//return $this->redirectToRoute('cart');
}
}
}
在上面的代码中,当我单击 twig 中的删除按钮并且 dd($basket) 完成时,数组为空,如下所示:
^ array:3 [▼
0 => [] //empty
1 => array:1 [▼
"items" => array:4 [▼
0 => 8
1 => "Pumpkin"
2 => "123"
3 => "x"
]
]
但是,当我评论 dd($basket) 并重新加载页面时,数组就像以前一样(似乎恢复了 idk),如果我取消评论 $session->set('basket',[]);一切都是空的。
我想在这里实现的是,如何从会话多维数组中删除数组?
【问题讨论】: