Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP parse_str() 함수 완벽 정리 – 문자열을 변수로 변환하는 방법

PHP의 parse_str() 함수는 URL 쿼리 문자열 형식으로 작성된 문자열을 파싱하여 변수 또는 배열에 저장하는 데 사용됩니다. 예를 들어 name=value 형태로 연결된 데이터를 손쉽게 개별 변수로 분리할 수 있어, GET 방식으로 전달된 쿼리 스트링을 처리할 때 유용하게 활용됩니다.

구문(Syntax)

parse_str(str, arr)

매개변수(Parameters)

  • str − 파싱할 입력 문자열입니다. 일반적으로 &로 구분된 키-값 쌍 형태의 쿼리 문자열이 사용됩니다.

  • arr − 파싱된 결과를 저장할 배열의 이름입니다. 이 매개변수가 지정되면 결과가 해당 배열에 저장되며, 원래의 변수들은 생성되지 않습니다.

반환값(Return)

parse_str() 함수는 별도의 값을 반환하지 않습니다(void). 대신 두 번째 매개변수로 전달된 배열에 파싱 결과가 저장됩니다.

참고: PHP 7.2부터 두 번째 매개변수 없이 parse_str()을 호출하는 방식은 권장되지 않으며(deprecated), PHP 8.0부터는 반드시 두 번째 매개변수를 지정해야 합니다. 보안상의 이유로 항상 배열을 사용하는 것이 좋습니다.

예제 1

다음은 간단한 쿼리 문자열을 배열로 파싱하는 예제입니다 −

<?php
   parse_str("studentname=Jack&marks=95", $arr);
   print_r($arr);
?>

출력 결과

Array
(
   [studentname] => Jack
   [marks] => 95
)

예제 2

이번에는 여러 개의 키-값 쌍을 포함한 문자열을 파싱해 보겠습니다 −

<?php
   parse_str("studentname=Tom&studentmarks=95&studentsubject=Maths", $arr);
   print_r($arr);
?>

출력 결과

Array
(
   [studentname] => Tom
   [studentmarks] => 95
   [studentsubject] => Maths
)

위 예제에서 볼 수 있듯이, parse_str() 함수는 &로 구분된 각 키-값 쌍을 자동으로 분석하여 연관 배열의 형태로 저장합니다. 이를 통해 복잡한 쿼리 문자열도 간단하게 다룰 수 있습니다.