如果我有:
$_POST['test']
Run Code Online (Sandbox Code Playgroud)
然后我可以使用:
$request->getParameter('test');
Run Code Online (Sandbox Code Playgroud)
但如果我有这个怎么$_POST['test']['two']办?
Ale*_*tau 15
现在只有一种方法:
$arr = $request->getParameter('test');
$two = $arr['two'];
Run Code Online (Sandbox Code Playgroud)
编辑:
在PHP 5.4中,您可以这样做 $request->getParameter('test')['two'];
小智 9
Symfony 6.0版本,正确答案是
$request->request->all('test')['two'];
Run Code Online (Sandbox Code Playgroud)
当您在 GET 调用中请求数组时:
$request->query->all('test')['two'];
Run Code Online (Sandbox Code Playgroud)
从Symfony 2开始,使用Symfony Request获取数组值的解决方案甚至更漂亮:
$request->get("test[two]", null, true)
Run Code Online (Sandbox Code Playgroud)
第三个参数get(),$deep是默认为false,并决定您是否可以访问数组键.
请参阅ParameterBag的文档:
boolean $ deep:如果为true,像foo [bar]这样的路径会找到更深层的项目
http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/ParameterBag.html#method_get
正如antongorodezkiz在他对这个答案的评论中指出的那样,请注意这个"从版本2.8开始被弃用,将在3.0中删除."
| 归档时间: |
|
| 查看次数: |
16002 次 |
| 最近记录: |