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() 함수는 &로 구분된 각 키-값 쌍을 자동으로 분석하여 연관 배열의 형태로 저장합니다. 이를 통해 복잡한 쿼리 문자열도 간단하게 다룰 수 있습니다.