通过delete方法don'将请求中的数组传递给Laravel;行不通

通过delete方法don'将请求中的数组传递给Laravel;行不通,laravel,Laravel,我在Laravel中传递数组以删除路由,然后在这部分代码中 foreach($request->input('publicIds')作为$node) 打印($节点) 我犯了这个错误 为文件中的foreach()提供的参数无效 为什么路由不起作用?如果要在foreach()中使用$request->input(),请确保在未传递任何内容时包含回退。如果未传递任何内容,$request->input()为null,并且foreach(null为$node)无效 如果您添加回退,它将使用该回退(在您

我在Laravel中传递数组以删除路由,然后在这部分代码中

foreach($request->input('publicIds')作为$node)
打印($节点)

我犯了这个错误

为文件中的foreach()提供的参数无效



为什么路由不起作用?如果要在
foreach()
中使用
$request->input()
,请确保在未传递任何内容时包含回退。如果未传递任何内容,
$request->input()
null
,并且
foreach(null为$node)
无效

如果您添加回退,它将使用该回退(在您的情况下,使用数组):

因此,要使您的代码类型对
foreach()
安全,请执行以下操作:

foreach($request->input('publicIds',[])作为$node){
打印($节点);
}
$request->input('publicIds')
null
的场景中,它将回退到一个数组。如果
$request->input('publicIds')
的场景已经是一个数组,则将跳过回退(因为它已经是一个数组),并且您的代码现在是安全的

$request->input('publicIds')     // `null`
$request->input('publicIds', []) // `[]`