Php Larave错误:array_merge():参数2应为数组,字符串给定

Php Larave错误:array_merge():参数2应为数组,字符串给定,php,laravel,Php,Laravel,嗨,Laravel的开发者们: 以下是dd(会话('cart'))的输出: 稍后,我想在orders表中将购物车保存为单行。 为了准备这个。。。 当我执行以下操作时: foreach (session('cart') as $id => $data ) { dump($data['nr']); } 浏览器显示(非常短)foreach“001”($data['nr'])的第一次迭代,然后 我得到这个错误: array\u merge():参数2应为数组,字符串为给定的 我的问题:参

嗨,Laravel的开发者们: 以下是dd(会话('cart'))的输出:

稍后,我想在orders表中将购物车保存为单行。 为了准备这个。。。 当我执行以下操作时:

foreach (session('cart') as $id => $data ) {
    dump($data['nr']);
}
浏览器显示(非常短)foreach“001”($data['nr'])的第一次迭代,然后 我得到这个错误:

array\u merge():参数2应为数组,字符串为给定的

我的问题:参数2是什么意思?

您可以这样做:

$data = collect(session('cart'))->map(function ($item, $key) {
           return $item['nr'];
        });

另一种方式:

您可以使用所需的键:

$collection = collect(session('cart'));

$data = $collection->pluck('nr')
       ->all();
有关收集的更多信息,您可以在此处查看:

您可以这样做:

$data = collect(session('cart'))->map(function ($item, $key) {
           return $item['nr'];
        });

另一种方式:

您可以使用所需的键:

$collection = collect(session('cart'));

$data = $collection->pluck('nr')
       ->all();
有关收集的更多信息,您可以在此处查看:


数组合并(参数1,参数2)。。。第二个参数的值在某个地方被赋予一个字符串,而不是数组。注释,函数的参数是调用函数时逗号之间的值。
array\u merge
code在哪里?但是为什么在这里得到
array\u merge()
,您确定这行
dump($data['nr')抛出此错误?@user3783243似乎是内置的laravel:\vendor\laravel\framework\src\illumb\View\Factory.php}公共函数make($View,$data=[],$mergeData=[]){$path=$this->finder->find($View=$this->normalizeName($View));数组_merge(参数1,参数2)…第二个参数的值在某个地方被指定为字符串,而不是数组。在更详细的@PaulT.comment版本中,函数的参数是调用函数时逗号之间的值。
array\u merge
code在哪里?但是为什么要得到
array\u merge()
这里,你确定这一行
dump($data['nr']);
抛出了这个错误吗?@user3783243似乎是一个内置的laravel:\vendor\laravel\framework\src\light\View\Factory.php}公共函数make($View,$data=[],$mergeData=[]){$path=$this->finder->find($View=$this->normalizeName($View) );