【问题标题】:$request->getParameter with array - Symfony$request->getParameter 与数组 - Symfony
【发布时间】:2011-12-19 11:31:32
【问题描述】:

如果我有:

$_POST['test']

那我可以用吗:

$request->getParameter('test');

但是如果我有$_POST['test']['two'],我该如何使用它呢?

【问题讨论】:

    标签: php symfony1


    【解决方案1】:

    现在只有一种方法可以做到:

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

    已编辑:

    在 PHP 5.4 中你可以做到这一点$request->getParameter('test')['two'];

    【讨论】:

      【解决方案2】:

      从 Symfony 2 开始,甚至还有一个更漂亮的解决方案可以通过 Symfony 请求获取数组值:

      $request->get("test[two]", null, true)
      

      get()的第三个参数$deep默认为false,决定是否可以访问数组键。

      查看ParameterBag的文档:

      boolean $deep:如果为真,则像 foo[bar] 这样的路径会找到更深的项目

      http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/ParameterBag.html#method_get

      正如antongorodezkiz 在对此答案的评论中指出的那样,请注意“自 2.8 版以来已弃用,并将在 3.0 版中删除。”

      【讨论】:

      【解决方案3】:
      $request->getParameter('test')['two'];
      

      【讨论】:

        【解决方案4】:

        有一种简单的方法可以获取整个请求

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

        $var 将是一个数组。 http://symfony.com/doc/current/components/http_foundation/introduction.html#accessing-request-data

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-07
          • 1970-01-01
          • 2021-12-08
          • 2013-08-31
          相关资源
          最近更新 更多