$data = array(
    'name' => 'John Doe',
    'age' => 30,
    'city' => 'New York'
);

$queryString = http_build_query($data);
echo '인코딩된 URL 문자열: ' . $queryString . '<br>';
// 출력: 인코딩된 URL 문자열: name=John+Doe&age=30&city=New+York

// parse_str() 함수를 사용하여 디코딩
parse_str($queryString, $decodedArray);

// 디코딩된 결과를 출력
echo '디코딩된 배열: ';
print_r($decodedArray);
// 출력: 디코딩된 배열: Array ( [name] => John Doe [age] => 30 [city] => New York )
parse_str(string $string, array &$result): void
$query_string = 'name=John+Doe&age=30';

// 권장 방법: URL 쿼리 문자열을 해석하여 변수에 저장
parse_str($query_string, $parsed_data);

// "name"과 "age" 변수에서 값을 추출하여 출력
$name = $parsed_data['name'];
$age = $parsed_data['age'];

// 결과 출력
echo '이름 (권장 방법): ' . $name . '<br>'; // 출력: 이름 (권장 방법): John Doe
echo '나이 (권장 방법): ' . $age . '<br>';   // 출력: 나이 (권장 방법): 30

// 비권장 방법: 변수를 직접 생성하여 값 할당
parse_str($query_string); // PHP 7.2.0 버전부터 E_DEPRECATED 알림이 발생, PHP 8.0.0 버전부터는 result 매개변수가 필수
echo '이름 (비권장 방법): ' . $name . '<br>'; // 출력: 이름 (비권장 방법): John Doe
echo '나이 (비권장 방법): ' . $age;           // 출력: 나이 (비권장 방법): 30