Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将二维阵列保存到Laravel会话中_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 将二维阵列保存到Laravel会话中

Php 将二维阵列保存到Laravel会话中,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在尝试将纯PHP代码转换为Laravel。此代码广泛用于会话-以下是代码的简化部分(请忽略语法错误): 现在根据laravel文档,我的选择是 session(['gamedata' => [ 'game'=> 23 , 'n'=>0, 'Cards'=>[], 'Values'=>[], ]]); $gamedata = session('gamedata');

我正在尝试将纯PHP代码转换为Laravel。此代码广泛用于会话-以下是代码的简化部分(请忽略语法错误):

现在根据laravel文档,我的选择是

    session(['gamedata' =>  [
        'game'=> 23 ,
        'n'=>0,
        'Cards'=>[],
        'Values'=>[],
    ]]);

    $gamedata = session('gamedata');
    $gamedata['Cards'][]= getCard();
    session(['gamedata'=>$gamedata]);

    $gamedata = session('gamedata');
    $gamedata['Values'][]= getVal();
    session(['gamedata'=>$gamedata]);
这是非常愚蠢的。。。不,我不能将它保存在行的末尾,因为函数也与会话一起工作,所以会话需要在每次函数调用之前保存

基本上,我希望能够在2d会话中立即保存

session([ ['gamedata']['Cards'][] => getCards() ]);
这就给了我这个错误

Cannot use [] for reading
Undefined index: Cards
即使是这个代码

session([ ['gamedata']['Cards'] => getCards() ]);
给了我这个错误

Cannot use [] for reading
Undefined index: Cards
仅供参考,
会话([key=>value])
\session::put(key,value)
的快捷方式。如果要更新嵌套会话值,可以在键中使用点作为路径分隔符

如果要替换会话中的值,则以下每一行都会这样做:

session([ 'gamedata.Cards' => getCards() ]);
\Session::put('gamedata.Cards', getCards());
但是,如果会话中的值是要添加到的数组,则以下行将完成此操作:

\Session::push('gamedata.Cards', getCards());

不幸的是,使用
session()
helper.

thanx没有此语法的快捷版本,但是
gamedata.Cards
本身是一个数组,我希望向该数组添加值,而不是用新值替换其值,或者我弄错了?基本上我想要的是
cards[]=newval
而不是
cards=newval