如何在Laravel 5中的$ _SESSION中设置一个数组?

时间:2016-07-29 17:15:41

标签: session laravel-5

我有这段代码:

Session::set('dt[global][temp][arrLanguage_selector]', $arrLanguage_selector);

Session::set('dt[global][env][country]', $country);

稍后在其他页面中,我将尝试使用以下内容获取这些值:

$global = Session::get('dt[global]');
$env= $global[env][country]ç
$lang = [temp][arrLanguage_selector];

但它不起作用。它正在返回null

我错过了什么?

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案:

如果我们想在 $ _ SESSION 中创建跟随数组结构。

$dt = [
        "globals"  =>[
                        "env"         =>"US",
                        "dictionary"  =>$arrDictionary
                      ],

        "temp"     =>[
                         "arrLanguage_selector"=>$arrLanguage_selector,
                         "other_thing          =>"ok"                     
                      ]
      ];

我们可以一次性完成:

  1. Session::put('dt.globals.env','US');
  2. Session::put('dt.globals.dictionary',$arrDictionary);
  3. Session::put('dt.temp.arrLanguage_selector',$arrLanguage_selector);
  4. Session::put('dt.temp.other_thing',"ok");
  5. 显示dd(Session::all());
  6. 或者我们可以动态创建或更改:

    1. Session::put('dt.globals.env','CA');
    2. Session::put('dt.globals.subLevel','subZero');
    3. 显示dd(Session::all());
    4. 注意: documentation并不那么明确。