현재 위치: > 최신 기사 목록> PHP에서 parse_str 기능의 심층 분석 : 사용 및 예제 분석

PHP에서 parse_str 기능의 심층 분석 : 사용 및 예제 분석

M66 2025-06-30

php에서 parse_str 함수 사용

이 기사에서는 PHP의 parse_str 함수로 뛰어들 것입니다. 이 기능은 GET 요청에서 쿼리 문자열을 PHP에서 사용할 수있는 변수로 변환하는 데 사용됩니다.

매일 PHP 개발에서 쿼리 문자열 처리는 일반적인 요구 사항이며, 데이터는 일반적으로 URL의 스크립트에 대한 GET 요청을 통해 전달됩니다. PHP는 모든 쿼리 매개 변수를 저장하는 hyperglobal $ _get 변수를 제공합니다. 그러나 경우에 따라 원래 쿼리 문자열을 직접 처리하고 PHP 변수로 변환해야 할 수도 있으며 PARSE_STR 기능은 편리한 옵션이됩니다.

이 기사는 parse_str 함수를 사용하는 방법을 자세히 소개하고 몇 가지 실제 예를 통해 강력한 기능을 보여줍니다.

parse_str 함수의 구문

parse_str 함수의 기본 구문은 다음과 같습니다.

 <span class="fun">parse_str (String $ String, Array & $ result) : void</span>

parse_str 함수에는 두 가지 매개 변수가 있습니다. 첫 번째 매개 변수는 구문 분석 할 쿼리 문자열이고 두 번째 매개 변수는 구문 분석 변수로 채워진 배열입니다.

parse_str 함수는 값을 반환하지 않으므로 두 번째 매개 변수를 통해 결과를 얻어야합니다. PHP 7.2에서 시작하여 두 번째 매개 변수는 필수가됩니다. 두 번째 매개 변수가 제공되지 않으면 parse_str는 오류를보고합니다.

또한 Parse_str 함수는 URL 인코딩 문자열을 자동으로 해독하므로 URLDECODE 기능을 수동으로 사용할 필요가 없습니다.

기본 예

다음은 parse_str 함수 사용 방법을 보여주는 간단한 예입니다.

 <?php
$string = 'first_name=John&last_name=Richards&age=30';
parse_str($string, $result);
print_r($result);

이 예에서 쿼리 문자열은 배열 키가 변수 이름이고 값은 쿼리 문자열의 값인 PHP 배열로 구문 분석됩니다. 출력 결과는 다음과 같습니다.

 Array
(
    [first_name] => John
    [last_name] => Richards
    [age] => 30
)

처리 배열 변수

쿼리 문자열에 배열 변수가 포함 된 경우 parse_str 함수를 올바르게 구문 분석 할 수도 있습니다. 예를 들어:

 <?php
$string = 'foo=1&bar[]=1&bar[]=2';
parse_str($string, $result);
print_r($result);

구문 분석 후 막대 변수는 배열로 변환됩니다.

 Array
(
    [foo] => 1
    [bar] => Array
    (
        [0] => 1
        [1] => 2
    )
)

[] 구문이 사용되지 않으면 parse_str는이를 일반 변수로 취급하고 마지막 값 만 유지합니다.

특수 문자를 처리합니다

때로는 쿼리 문자열의 변수 이름에 공백 또는 도트 기호가 포함될 수 있습니다. PHP는 가변 이름의 공간이나 점을 허용하지 않으므로 parse_str 함수는 이러한 문자를 밑줄로 자동 변환합니다. 예를 들어:

 <?php
$string = 'my name=John&my.email=john@example.com';
parse_str($string, $result);
print_r($result);

출력 결과는 다음과 같습니다.

 Array
(
    [my_name] => John
    [my_email] => john@example.com
)

URL에 인코딩 된 쿼리 문자열

parse_str 함수는 자동으로 URL 인코딩 된 값을 해독하므로 추가 처리가 필요하지 않습니다. 예를 들어:

 <?php
$string = 'name=John%20Richards&profile_url=http%3A%2F%2Fexample.com%2Fmyprofile';
parse_str($string, $result);
print_r($result);

출력 결과는 다음과 같습니다.

 Array
(
    [name] => John Richards
    [profile_url] => http://example.com/myprofile
)

요약

이 기사를 통해 PHP의 parse_str 기능에 대한 포괄적 인 이해가 있어야합니다. 이 기능은 쿼리 문자열을 처리하는 데 매우 유용한 도구입니다. 특히 문자열을 PHP 변수로 변환 해야하는 경우. 이 기사의 예제가 Parse_str 기능을 더 잘 적용하고 개발 효율성을 향상시키는 데 도움이되기를 바랍니다.