>  Q&A  >  본문

PHP如何处理同重复参数名的参数

// http://example.com?p1=v1&p2=v2&p3=v3&p1=v4&p2=v5
var_dump($_GET['p1']; // output v1

这样测试出来只得到v1,开始我以为后来的参数会覆盖前边的参数,结果不是,而且也没有什么错误。
求解释原理

PHPzPHPz2749일 전1245

모든 응답(4)나는 대답할 것이다

  • 数据分析师

    数据分析师2017-10-01 01:21:56

    PHP는 동일한 반복 매개변수 이름을 가진 매개변수를 어떻게 처리합니까? - PHP 중국어 웹사이트 Q&A - PHP는 동일한 반복 매개변수 이름을 가진 매개변수를 어떻게 처리합니까? - PHP 중국어 웹사이트 Q&A

    둘러보고 배워보세요.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 13:15:00

    PHP的又一2B发明:参数后加[]

    <?php
    $str = "a[]=1&a[]=2";
    parse_str($str, $arr);
    print_r($arr);

    query string可以用parse_url()获取

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-10 13:15:00

    我得到的结果与你相反

    <?php
    var_export( $_GET );

    haoduo.sinaapp.com/app/test.php?a=1&a=2

    结果
    array (
    'a' => '2',
    )

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 13:15:00

    你可以使用 $_SERVER["QUERY_STRING"] 获取整个query_string,然后自己写个简单的代码来解析,类似于

    $arr_kev = explode('&', $_SERVER['QUERY_STRING']);
    $get = array();
    foreach ($arr_kev as $kev)
    {
        list($key, $val) = explode('=', $kev);
        $get[$key][] = $val;
    }

    这样就保留了所有信息。

    회신하다
    0
  • 취소회신하다