>  기사  >  백엔드 개발  >  PHP 배열을 URI 문자열로 변환하는 방법

PHP 배열을 URI 문자열로 변환하는 방법

PHPz
PHPz원래의
2023-04-20 15:02:38490검색

웹 개발에서는 PHP 배열을 URI로 변환해야 하는 경우가 많습니다. URI(Uniform Resource Identifier) ​​또는 URL(Uniform Resource Locator)은 특정 리소스를 나타내는 데 사용되는 문자열 식별자입니다. 많은 경우 API에 전달하거나 웹 페이지에서 사용하려면 PHP 배열을 URI 형식으로 변환해야 합니다.

이 기사에서는 데이터 전달, 검색 쿼리 등과 같은 기능을 수행하기 위해 PHP 배열을 URI 문자열로 변환하는 방법을 소개합니다.

  1. http_build_query 사용

http_build_query 함수를 사용하는 것은 PHP 배열을 URI 형식으로 변환하는 가장 쉬운 방법입니다. 이 함수는 PHP 배열을 URI로 인코딩된 문자열로 변환하고 다음 문자열을 반환합니다.

<?php
$array = array(&#39;name&#39; => 'John Smith', 'age' => 34);
$queryString = http_build_query($array);

echo $queryString;

출력:

name=John+Smith&age=34

위 예에서는 이름과 나이 정보가 포함된 PHP 연관 배열을 URI 형식으로 변환합니다. http_build_query 함수를 사용하면 결과가 올바른 URI 인코딩 문자열인지 확인할 수 있습니다.

  1. URLEncode를 직접 구현하세요

내장 함수인 http_build_query를 사용하지 않으려면 수동으로 배열을 URI 형식으로 변환할 수 있습니다. 이 경우 PHP에 내장된 urlencode 함수를 사용하여 URI의 문자열을 인코딩할 수 있습니다.

<?php
$array = array(&#39;name&#39; => 'John Smith', 'age' => 34);
$queryString = '';

foreach($array as $key => $value){
    $queryString .= urlencode($key) . '=' . urlencode($value) . '&';
}

// 去掉结尾的 &
$queryString = rtrim($queryString, '&');

echo $queryString;

출력:

name=John+Smith&age=34

위 예에서는 foreach를 사용하여 배열의 키와 값을 반복합니다. 그런 다음 urlencode 함수를 사용하여 인코딩합니다. 각 키와 값 사이에 등호와 앰퍼샌드를 추가하고 rtrim 함수를 사용하여 문자열 끝에 있는 앰퍼샌드를 제거했습니다.

  1. PHP_QUERY_RFC3986 형식 사용

어떤 경우에는 RFC 3986 형식인 팩스 URI 인코딩을 사용해야 합니다. 이 형식을 사용하려면 http_build_query 함수를 호출할 때 두 번째 매개 변수를 PHP_QUERY_RFC3986으로 설정해야 합니다.

<?php
$array = array(&#39;name&#39; => 'John Smith', 'age' => 34);
$queryString = http_build_query($array, '', '&', PHP_QUERY_RFC3986);

echo $queryString;

출력:

name=John%20Smith&age=34

위 예에서는 http_build_query 함수를 사용하여 배열을 RFC 3986 URI 인코딩으로 변환합니다. 형식 문자열. 공백이 %20으로 인코딩되고 더하기 기호가 사용되지 않은 것을 볼 수 있습니다. 이는 RFC 3986에 지정된 방법입니다.

요약

이 글에서는 PHP 배열을 URI로 변환하는 세 가지 방법을 소개했습니다. http_build_query 함수를 사용하는 것이 가장 간단하고 일반적인 접근 방식이지만, 함수를 수동으로 구현하고 RFC 3986 형식을 사용하면 더 많은 유연성과 제어가 제공됩니다. 어느 쪽이든 이러한 기술을 사용하여 비즈니스 목적을 달성하기 위해 올바른 형식의 URI 문자열을 생성할 수 있습니다.

위 내용은 PHP 배열을 URI 문자열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.