【发布时间】:2020-12-13 13:07:57
【问题描述】:
大家好 Laravel 开发人员: 以下是 dd(session('cart')); 的输出:
array:2 [▼
17 => array:14 [▼
"user_id" => 1
"nr" => "001"
"check_id" => 17
"kommission" => "Ribnev Prömski"
"quantity" => 1
"price" => "72.95"
"shipping_cost_id" => 28
]
18 => array:14 [▼
"user_id" => 1
"nr" => "002"
"check_id" => 17
"kommission" => "Ribnev Prömski"
"quantity" => 1
"price" => "78.95"
"shipping_cost_id" => 28
]
]
稍后 id 喜欢将购物车保存为订单表中的单行。 在准备这个... 当我执行以下操作时:
foreach (session('cart') as $id => $data ) {
dump($data['nr']);
}
浏览器显示(非常短)foreach "001" ($data['nr']) 的第一次迭代,然后 我收到此错误:
array_merge(): Expected parameter 2 to be an array, string given.
我的问题:参数2是什么意思?
【问题讨论】:
-
array_merge(parameter 1, parameter 2) ...第二个参数的值在某处被赋予一个字符串而不是一个数组。
-
在更详细的@PaulT 版本中。注释,函数的参数是调用函数时逗号之间的值。
array_merge代码在哪里? -
但是为什么你在这里得到
array_merge(),你确定这行dump($data['nr']);会抛出这个错误吗? -
@user3783243 好像是内置的laravel:
-
\vendor\laravel\framework\src\Illuminate\View\Factory.php } 公共函数 make($view, $data = [], $mergeData = []) { $path = $this ->finder->find($view = $this->normalizeName($view));