You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何获取GET请求中同名参数的完整数组?

解决PHP中获取同名GET/POST参数数组的问题
  • 问题根源:PHP默认会对同名的GET/POST参数进行覆盖,只保留最后一个传入的值,所以你看到的只有151。要让PHP将同名参数识别为数组,需要修改参数的命名格式。

  • 直接解决方案(修改URL/表单):
    在参数名末尾加上[],这样PHP会自动将所有同名参数打包成数组:

    • 修改后的GET URL:
      http://localhost/includes/runner_AddToEvent.php?eventSelector[]=155&eventSelector[]=154&eventSelector[]=151
      
    • 此时执行var_dump($_GET['eventSelector']);,会得到包含三个值的数组:
      array(3) {
        [0]=>
        string(3) "155"
        [1]=>
        string(3) "154"
        [2]=>
        string(3) "151"
      }
      
    • 如果是POST表单,只需将表单元素的name属性设为eventSelector[],提交后$_POST['eventSelector']同样会是数组。
  • 无法修改URL时的替代方案:
    要是你没法修改原始URL,可以手动解析请求字符串:

    $queryParts = explode('&', $_SERVER['QUERY_STRING']);
    $eventSelectors = [];
    foreach ($queryParts as $part) {
        list($key, $value) = explode('=', $part);
        if ($key === 'eventSelector') {
            $eventSelectors[] = urldecode($value);
        }
    }
    var_dump($eventSelectors);
    

    这段代码会遍历所有请求参数,把所有eventSelector的值收集到数组里。

内容的提问来源于stack exchange,提问作者Guido

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:48:20