如果我有:
$_POST['test']
然后我可以使用:
$request->getParameter('test');
但如果我有$_POST['test']['two']
?
答案 0 :(得分:12)
现在只有一种方法:
$arr = $request->getParameter('test');
$two = $arr['two'];
编辑:
在PHP 5.4中,你可以$request->getParameter('test')['two'];
答案 1 :(得分:6)
从Symfony 2开始,使用Symfony Request获得数组值的解决方案更加漂亮:
$request->get("test[two]", null, true)
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中删除。"
答案 2 :(得分:0)
$request->getParameter('test')['two'];
答案 3 :(得分:0)
有一种简单的方法可以获得整个请求
$var = $request->request->all()
$ var将是一个数组。 http://symfony.com/doc/current/components/http_foundation/introduction.html#accessing-request-data