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

$queryString = http_build_query($data);
echo $queryString;

// 출력: name=John+Doe&age=30&city=New+York
http_build_query(
    array|object $data,
    string $numeric_prefix = "",
    ?string $arg_separator = null,
    int $encoding_type = PHP_QUERY_RFC1738
): string
$data = array(
    1 => 'foo',
    2 => 'bar',
    3 => 'baz',
);

$queryString = http_build_query($data, 'my_');
echo $queryString;
두 번째 인수로 'my_'를 설정
$data = array(
    'foo' => 'bar',
    'baz' => 'boom',
    'cow' => 'milk',
);
세 번째 인수를 설정하지 않았을 경우
세 번째 인수를 null로 설정
세 번째 인수로 쉼표(,)를 설정
세 번째 인수로 세미콜론(;)을 설정
$data = array(
    'name' => 'John Doe',
    'age' => 30,
    'city' => 'New York'
);
네 번째 인수로 PHP_QUERY_RFC1738을 설정
$data = array(
    'name' => 'John Doe',
    'age' => 30,
    'city' => 'New York'
);

$queryString = http_build_query($data, '', '&',  PHP_QUERY_RFC3986);
echo $queryString;
네 번째 인수를 PHP_QUERY_RFC3986으로 설정
$params = array(
    'search_query' => 'keyword',
    'category' => 'books',
    'sort' => 'relevance'
);

$query_string = http_build_query($params);
$url = 'https://example.com/search?' . $query_string;

// 이제 $url은 "https://example.com/search?search_query=keyword&category=books&sort=relevance"와 같은 형태가 됩니다.
$api_endpoint = 'https://api.example.com/data';
$api_key = 'your_api_key';
$params = array(
    'api_key' => $api_key,
    'action' => 'get_data',
    'format' => 'json'
);

$api_url = $api_endpoint . '?' . http_build_query($params);

// $api_url은 "https://api.example.com/data?api_key=your_api_key&action=get_data&format=json"와 같은 형태가 됩니다.
$form_data = array(
    'username' => 'user123',
    'password' => 'secret',
    'remember' => 1
);

$action_url = 'https://example.com/login?' . http_build_query($form_data);

// https://example.com/login?username=user123&password=secret&remember=1
// 이제 HTML 폼의 <form> 요소의 action 속성에 $action_url을 설정할 수 있습니다.