8

是否可以从相同 $_GET 具有不同值的 url 中检索参数?

www.domain.com/?user=1&user=2

目前这只显示第二个列出的内容,所以如果 I echo $_GET['user'],它将输出2

我似乎在 SO 上找不到这个,所以如果我错过了,请告诉我。

谢谢你的帮助!

4

4 回答 4

9

是的,使用 user[] 作为键。应该管用。PHP 将所有 $_POST[] 变量访问到一个数组中?

于 2012-05-21T02:38:03.080 回答
4

查询字符串被解析到关联数组$_GET中,因此当有重复的键时,地图上只存在该值的最后一个版本。但是,您可以访问原始数据$_SERVER['QUERY_STRING']并自行解析它。

如果可能,我们最好将您的代码修改为不重复键。

于 2012-05-21T02:39:06.323 回答
4

快速回答是否定的。

http://localhost/?user=1&user=2

让你:

array
    'user' => string '2' (length=1)

但是,通过在查询中包含括号,如下所示:

http://localhost/?user[]=1&user[]=2

您可以检索 $_GET['user'] 并返回:

array
    'user' => 
        array
            0 => string '1' (length=1)
            1 => string '2' (length=1)
于 2012-05-21T02:45:23.107 回答
0

您可以为每个 $_GET 使用 foreach 循环,然后将所有“用户”变量分组到一个数组中,然后访问您需要的任何键值。0 是第一个,1 是第二个,依此类推……

于 2012-05-21T02:39:35.110 回答