Laravel 传递HTTP请求参数的多个值

Laravel 传递HTTP请求参数的多个值,laravel,httprequest,laravel-5.6,Laravel,Httprequest,Laravel 5.6,如何传递单个HTTP请求参数的多个值,并在控制器中检索它们 是否是重复的参数,如下所示: http://example.com/users?q=1&q=2 或一行中的多个值,如下所示: http://example.com/users?q=1,2 感谢您的帮助。您可以向请求传递一个数组,如下所示: http://example.com/users?q[]=1&q[]=2 []将以数组形式传递参数。因此,当您从请求中检索q时: dd(request('q')); 它将为您提

如何传递单个HTTP请求参数的多个值,并在控制器中检索它们

是否是重复的参数,如下所示:

http://example.com/users?q=1&q=2
或一行中的多个值,如下所示:

http://example.com/users?q=1,2

感谢您的帮助。

您可以向请求传递一个数组,如下所示:

http://example.com/users?q[]=1&q[]=2
[]
将以数组形式传递参数。因此,当您从请求中检索
q
时:

dd(request('q'));
它将为您提供以下信息:

array:2 [▼
  0 => "1"
  1 => "2"
]

就像传递值为array的html输入一样, 您可以使用
[]
传递它。e、 g.
/users?q[]=1和q[]=2

Route::get('users', function (Illuminate\Http\Request $request) {
    // when you dump the q parameter, you'll get:
    dd($request->q);
    // q = [1, 2]
});

Laravel帮助页/用户指南?你自己看,我没有看到关于多值参数的任何信息,只要从$_GET数组(在控制器中)获取它们,前提是你的路径是我不确定第一个,但第二种方法给你一个字符串,你可以在控制器$input=$request->all()中拆分它;然后是foreach?URL的
[]
字符是“标准化”的吗,比如
&
,或者这只是一种仅适用于Laravel的速记(而不适用于Spring等)?我能做什么?
?q[]=1,2
?@JacopoStanchi是的,它是URL的标准化。您可以按照建议的方式执行,但它会将字符串传递到数组中。