$ request-> getParameter с массивом - Symfony - PullRequest
11 голосов
/ 01 ноября 2011

Если у меня есть:

$_POST['test']

тогда я могу использовать:

$request->getParameter('test');

Но как я могу использовать это, если у меня есть $_POST['test']['two']?

Ответы [ 4 ]

15 голосов
/ 01 ноября 2011

Теперь только один способ сделать это:

$arr = $request->getParameter('test');
$two = $arr['two'];

Отредактировано:

В PHP 5.4 вы можете сделать это $request->getParameter('test')['two'];

6 голосов
/ 07 декабря 2015

Начиная с Symfony 2, есть даже более симпатичное решение для получения значений массива с помощью запроса Symfony:

$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."

1 голос
/ 24 сентября 2015
$request->getParameter('test')['two'];
0 голосов
/ 15 февраля 2016

есть простой способ получить весь запрос

$var = $request->request->all()

$ var будет массивом. http://symfony.com/doc/current/components/http_foundation/introduction.html#accessing-request-data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...