超薄框架重复查询参数

时间:2017-01-13 07:01:58

标签: slim

我在我的应用程序中使用了slim framework 3,在一种情况下,我的查询参数以这种模式发送

test?category=2&category=4&city=433&keywords=

查询参数类别是重复的。如果我使用$ request-> getQueryParams(),我得到结果为

Array
(
    [category] => 4
    [city] => 433
    [keywords] => 
)

如果我尝试使用$ request-> getQuery(),结果是

<b>Fatal error</b>:  Call to undefined method Slim\Http\Request::getQuery() in

如何在数组中获取类别参数?

以下是我浏览https://www.slimframework.com/docs/objects/request.html

的文档链接

2 个答案:

答案 0 :(得分:2)

根据this answer,PHP转储的查询参数具有相同的标识符。您应该在请求中的Uri对象上使用getQuery()方法并自行解析:

$request->getUri()->getQuery();

答案 1 :(得分:1)

数组查询参数的PHP语法为foo[]。你的例子将成为:

test?category[]=2&category[]=4&city=433&keywords=

会导致:

Array
(
    [category] => Array
        (
            [0] => 2
            [1] => 4
        )

    [city] => 433
    [keywords] => 
)