웹 개발에서는 페이지 간 데이터 전송이나 API 인터페이스 요청의 매개변수 전송을 위해 배열을 URL 매개변수 문자열로 변환해야 하는 경우가 많습니다. PHP에서는 일부 내장 함수를 통해 배열과 URL 매개변수 문자열 간을 변환할 수 있습니다. 다음으로 이 기능을 달성하기 위한 몇 가지 일반적인 방법을 소개하겠습니다.
1. 배열을 URL 매개변수 문자열로 변환
http_build_query() 함수는 배열을 URL 매개변수 문자열로 변환할 수 있습니다. 이 함수의 구문은 다음과 같습니다.
string http_build_query ( mixed $query_data , string $numeric_prefix = "" , string $arg_separator = "" , int $enc_type = PHP_QUERY_RFC1738 )
그 중 query_data 매개변수는 변환할 데이터가 포함된 연관 배열 또는 숫자 인덱스 배열이고, 숫자_prefix 매개변수는 숫자 인덱스 배열에 필요한 선택적 문자열 접두사입니다. 기본값은 빈 문자열, arg_separator 매개 변수는 선택적 매개 변수 구분 기호이고 기본값은 "&"이며 enc_type 매개 변수는 선택적 문자열 형식이며 기본값은 PHP_QUERY_RFC1738입니다.
샘플 코드:
<?php $data = array( 'user' => 'admin', 'email' => 'admin@example.com', 'age' => 18 ); $query_string = http_build_query($data); echo $query_string; ?>
출력 결과:
user=admin&email=admin%40example.com&age=18
샘플 코드:
<?php $data = array( 'user' => 'admin', 'email' => 'admin@example.com', 'age' => 18 ); $query_string = http_build_query($data, 'id_', '|'); echo $query_string; ?>
출력 결과:
id_user=admin|id_email=admin%40example.com|id_age=18
urlen 코드() 이 함수는 URL 매개변수 문자열을 인코딩하고 특수 문자를 이스케이프할 수 있습니다. 샘플 코드:
<?php $data = array( 'user' => 'admin', 'email' => 'admin@example.com', 'age' => 18 ); $query_string = http_build_query($data); $query_string = urlencode($query_string); echo $query_string; ?>
출력 결과는 다음과 같습니다.
user%3Dadmin%26email%3Dadmin%2540example.com%26age%3D18
2. URL 매개변수 문자열을 배열로 변환합니다.
parse_str() 함수는 URL 매개변수 문자열을 연관 배열로 구문 분석할 수 있습니다. 샘플 코드:
출력 결과는 다음과 같습니다.
Array ( [user] => admin [email] => admin@example.com [age] => 18 )
http_build_query() 함수를 사용하여 URL 매개변수 문자열을 생성하지 않는 경우,explore() 함수를 사용할 수도 있습니다. () 함수를 사용하여 수동으로 구문 분석합니다. 샘플 코드:
출력 결과는 다음과 같습니다.
Array ( [user] => admin [email] => admin@example.com [age] => 18 )
3. 요약
위는 PHP 배열을 URL 매개변수 문자열로 변환하고, URL 매개변수 문자열을 배열로 변환하는 방법입니다. 실제 개발에서는 이러한 방법을 유연하게 사용하여 API 인터페이스 요청에서 데이터 전송 및 매개변수 전송을 실현할 수 있습니다.
위 내용은 PHP에서 배열과 URL 매개변수 문자열 간을 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!