【问题标题】:Can I have multiple $_GET with the same key, different values?我可以拥有多个具有相同键、不同值的 $_GET 吗?
【发布时间】:2012-05-27 13:54:50
【问题描述】:

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

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

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

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

感谢您的帮助!

【问题讨论】:

  • 看到这个post$_SERVER['QUERY_STRING'] 就是你所需要的。

标签: php get


【解决方案1】:

是的,使用 user[] 作为键。应该管用。 PHP access all $_POST[] variables into an array?

【讨论】:

  • 谢谢!就在我找到答案时,我回来查看,你也明白了!我忘了它与复选框/收音机相同。所以我将使用 ?user[]=1&user[]=2。谢谢!
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-04
        • 1970-01-01
        • 1970-01-01
        • 2014-04-27
        • 1970-01-01
        • 2011-12-30
        • 2017-06-24
        • 2015-02-27
        相关资源
        最近更新 更多