为什么在laravel中的会话推送将我的值存储在零索引的新数组中

时间:2015-06-08 06:33:14

标签: php laravel-4

我的第一个代码行是

Session::put('step_1', array('security' => 'yes'));

第二是

    $vat=10;
    \Session::push('step_1.vat',$vat);

我当前的输出:

Array
(
    [security] => yes
    [vat] => Array
        (
            [0] => 10
        )

)

我想要的输出:

Array
(
    [security] => yes
    [vat] => 10
)

热点达到我想要的输出,请建议,谢谢。

3 个答案:

答案 0 :(得分:1)

是的,我陷入了混乱。我做的是,将会话变为变量,忘记它,添加更多数据并再次添加到会话变量。在您的情况下,这是一个简单的解决方法,

    .the_M{
           position : relative;
           height : inherit;
     }

如果你深入了解laravel源,Session :: push,

$session = Session::get("step_1");
Session::forget("step_1");
$session['vat'] = 10;
Session::put('step_1', $session);

这是添加索引的原因。

答案 1 :(得分:1)

我发现这种方式非常简单方便:

$step_1 = \Session::get('step_1');
$step_1['vat'] = $vat;
\Session::put('step_1', $step_1);

答案 2 :(得分:1)

你可以简单地使用

Session::put('step_1.security', 'yes'));
$vat=10;
Session::put('step_1.vat', $vat);