웹 애플리케이션에서 URL에는 정보를 PHP 스크립트에 전달하기 위한 여러 매개변수가 포함되는 경우가 많습니다. 그러나 PHP의 $_GET 함수는 일반적으로 주어진 매개변수에 대한 마지막 값만 반환합니다. URL에 동일한 이름을 가진 여러 매개변수가 있는 경우 문제가 될 수 있습니다.
이 예제 URL을 고려하세요.
http://example.com/index.php?param1=value1¶m2=value2¶m1=value3
이 경우 $_GET['param1']는 반환됩니다. "value3", 이전 값("value1")을 덮어씁니다.
이 문제를 처리하려면 다음 코드 조각을 사용하면 됩니다. 사용:
$query = explode('&', $_SERVER['QUERY_STRING']); $params = array(); foreach ($query as $param) { // To prevent errors, ensure each element has an equals sign. if (strpos($param, '=') === false) { $param .= '='; } list($name, $value) = explode('=', $param, 2); $params[urldecode($name)][] = urldecode($value); }
이 코드는 각 키가 매개변수 이름에 해당하고 각 값이 해당 매개변수와 연관된 모든 값을 포함하는 배열인 연관 배열을 생성합니다. 위의 예제 URL의 경우 결과 $params 배열은 다음과 같습니다.
array( 'param1' => array('value1', 'value3'), 'param2' => array('value2') )
이 방법을 사용하면 매개변수가 여러 번 발생하는지 여부에 관계없이 URL에서 각 매개변수와 연관된 모든 값에 쉽게 액세스할 수 있습니다. .
위 내용은 PHP의 URL에서 동일한 이름을 가진 여러 매개변수를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!