Strings parse_str

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_str — 문자열을 변수로 구문 분석


설명

parse_str(string $string, array &$result): void

URL을 통해 전달된 쿼리 문자열인 것처럼 string을 구문 분석하고 현재 범위(또는 result가 제공된 경우 배열)에 변수를 설정합니다.


매개변수

string
입력 문자열입니다.
result
두 번째 매개변수 result가 있는 경우 변수는 대신 이 변수에 배열 요소로 저장됩니다.

경고 result 매개변수 없이 이 함수를 사용하는 것은 PHP 7.2에서 매우 바람직하지 않으며 권장되지 않습니다. PHP 8.0.0부터 result 매개변수는 필수입니다.


반환 값

값이 반환되지 않습니다.


변경 로그

버전 설명
8.0.0 result는 더 이상 선택 사항이 아닙니다.
7.2.0 두 번째 매개변수 없이 parse_str()을 사용하면 이제 E_DEPRECATED 알림이 표시됩니다.

Examples

예제 #1 parse_str() 사용

                  
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";

// Recommended
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

// DISCOURAGED
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
                  
                

PHP의 변수는 이름에 점과 공백을 포함할 수 없으므로 밑줄로 변환됩니다. result 매개변수와 함께 이 함수를 사용하는 경우 각 키 이름의 명명에도 동일하게 적용됩니다.

예제 #2 parse_str() 이름 맹글링

                  
<?php
parse_str("My Value=Something");
echo $My_Value; // Something

parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>
                  
                

메모

메모: 생성된 모든 변수(또는 두 번째 매개변수가 설정된 경우 배열에 반환된 값)는 이미 urldecode()d입니다.

메모: 현재 QUERY_STRING을 얻으려면 $_SERVER['QUERY_STRING'] 변수를 사용할 수 있습니다. 또한 외부 소스의 변수에 대한 섹션을 읽을 수 있습니다.


기타

  • parse_url() - URL을 구문 분석하고 해당 구성 요소를 반환합니다.
  • pathinfo() - 파일 경로에 대한 정보를 반환합니다.
  • http_build_query() - URL 인코딩된 쿼리 문자열 생성
  • urldecode() - URL 인코딩된 문자열 디코딩