Php 将新值保存到Laravel会话数组

Php 将新值保存到Laravel会话数组,php,arrays,session,laravel,Php,Arrays,Session,Laravel,在下面的代码中,我循环遍历会话数组中的项并更改值。如何将其保存回会话 foreach(Session::get('cart.program') as &$item) { if ($item['id'] == '1xxx') { item['id'] = '2xxx'; break; } } 使用Session::put()在Laravel中执行以下操作: foreach(Session::get('cart.program') as $

在下面的代码中,我循环遍历会话数组中的项并更改值。如何将其保存回会话

foreach(Session::get('cart.program') as &$item) {
    if ($item['id'] == '1xxx') { 
        item['id'] = '2xxx';
        break;
    }
}
使用
Session::put()
在Laravel中执行以下操作:

foreach(Session::get('cart.program') as $item){
    if ($item['id'] == '1xxx') { 
        Session::put('cart.program.id', '2xxx');
        break;
    }
}
一种方法

$cart = Session::get('cart.program');

foreach($cart as &$item) {
    if ($item['id'] == '1xx') { 
        $item['id'] = '2xx';
        break;
    }
}

Session::put('cart.program', $cart);

@皮特:我发了一个新问题。希望这有意义。这不会更新
$item['id']
。它将
“id”=>“2xxx”
作为一个新项目添加到
购物车['program']
中。我看过Laravel文档中关于处理会话数据的内容,但我不确定更新循环中项目值的语法。谢谢,我以为可以通过某种方式修改和存储数组中的一个项目,但这是可行的。