반응형
📌 1. 함수 원형 (Function Prototype)
void parse_str(string $string, array &$result)
- $string: 쿼리 형식의 문자열 (예: "a=1&b=2").
- $result: 결과를 저장할 배열. 이 인수를 생략하면, 변수들이 전역 스코프에 직접 할당됩니다 (PHP 7.2.0 이후에는 사용 비추천).
📌 2. 함수 설명 (Function Description)
parse_str() 함수는 URL 쿼리 문자열을 파싱하여, 변수 또는 연관 배열로 변환합니다.
- $result를 명시하면 그 배열에 키-값 쌍을 넣습니다.
- $result를 생략하면 문자열에 포함된 변수명이 현재 스코프(전역 또는 로컬)에 직접 변수로 생성됩니다 (하지만 보안 및 가독성 문제로 비추천).
📌 3. 실행 가능한 PHP 버전
- 지원 시작: PHP 4.0.0
- PHP 7.2.0부터 $result 매개변수 생략 사용을 비추천 (Deprecated)
- PHP 8.0.0부터 $result 생략 시 경고 발생
📌 4. 함수 사용 예제 (Usage Example)
✅ 예제 1: 결과를 배열에 저장
<?php
$query = "name=John&age=30&city=Seoul";
parse_str($query, $result);
print_r($result);
?>
출력 결과:
Array
(
[name] => John
[age] => 30
[city] => Seoul
)
✅ 예제 2: 결과를 변수로 직접 생성 (비추천, PHP 7.2 이전에만 안전)
<?php
$query = "foo=bar&baz=qux";
parse_str($query);
echo $foo; // 출력: bar
echo $baz; // 출력: qux
?>
⚠️ 이 방식은 PHP 7.2.0 이후 비추천되며, PHP 8.0.0 이상에서는 경고가 발생합니다
✅ 예제 3: parse_url()과 함께 사용
<?php
$url = "https://example.com/page.php?product=shirt&color=blue&size=medium";
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
print_r($params);
?>
출력 결과:
Array
(
[product] => shirt
[color] => blue
[size] => medium
)
반응형
'개발자 이야기 > PHP' 카테고리의 다른 글
parse_url() (0) | 2025.05.14 |
---|---|
http_build_query() (0) | 2024.06.21 |
URL Encode (0) | 2024.06.21 |
댓글