`http_build_query` 是一个在 PHP 中常用的函数,用于构建一个 URL 的查询字符串(query string)。查询字符串通常位于 URL 的问号(?)之后,并且由参数和它们的值组成,参数之间使用 `&` 分隔。
这个函数接受一个关联数组作为输入,并返回一个 URL 编码的查询字符串。这对于动态构建 URL 非常有用,尤其是当你需要根据用户输入或其他变量动态生成 URL 时。
函数的基本语法如下:
```php
string http_build_query ( mixed $query_data [, string $numeric_prefix = '' [, string $arg_separator = ' &' ]] )
```
参数说明:
* `$query_data`:一个关联数组或多维数组,其中的键值对将被转换为查询字符串。键表示参数名称,值表示参数值。
* `$numeric_prefix`:可选参数,用于指定在数字参数前添加的前缀。默认是空的。
* `$arg_separator`:可选参数,用于指定参数之间的分隔符。默认是 `&`。但请注意,PHP 会自动对数组中的值进行 URL 编码,并添加适当的 `&` 分隔符。
一个简单的示例:
```php
$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
```
这个函数会确保所有的键和值都被正确编码,以便在 URL 中使用。这使得它可以很容易地与其他 PHP 函数(如 `file_get_contents` 或 `curl`)一起使用来发送 HTTP 请求。