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 인코딩된 문자열 디코딩