> 백엔드 개발 > PHP 튜토리얼 > PHP如何处理同重复参数名的参数

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-06 20:51:40
원래의
1447명이 탐색했습니다.

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

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

回复内容:

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

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

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

<?php $str = "a[]=1&a[]=2";
parse_str($str, $arr);
print_r($arr);
로그인 후 복사

query string可以用parse_url()获取

我得到的结果与你相反

<?php var_export( $_GET );
로그인 후 복사

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

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

你可以使用 $_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;
}
로그인 후 복사

这样就保留了所有信息。

관련 라벨:
php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿