📅  最后修改于: 2023-12-03 15:33:33.055000             🧑  作者: Mango
在 PHP 中,通过使用 http_build_query() 函数,可以将数组或对象转换为 URL 编码的字符串。
string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )
query_data
(必须):要转换的数组或对象。numeric_prefix
(可选):如果设置了此参数并且为非空字符串,则在每个参数键名前面添加该前缀以确保唯一性。arg_separator
(可选):用于将查询参数连接在一起的字符串。enc_type
(可选):请求参数的 URL 编码类型。默认为 PHP_QUERY_RFC1738
。返回一个 URL 编码的字符串,其中键和值使用等号 (=
) 分隔,每个参数之间使用 &
字符分隔。
$data = array(
'name' => 'John',
'age' => 30,
'city' => 'New York'
);
echo http_build_query($data);
输出:
name=John&age=30&city=New+York
class Person {
public $name = 'John';
public $age = 30;
public $city = 'New York';
}
$person = new Person();
echo http_build_query($person);
输出:
name=John&age=30&city=New+York
numeric_prefix
并指定 arg_separator
$data = array(
'name' => 'John',
'age' => 30,
'city' => 'New York'
);
echo http_build_query($data, 'data_', '|');
输出:
data_name=John|data_age=30|data_city=New+York
enc_type
指定 URL 编码类型$data = array(
'name' => 'John Smith',
'email' => 'john@example.com'
);
echo http_build_query($data, '', '', PHP_QUERY_RFC3986);
输出:
name=John%20Smith&email=john%40example.com
http_build_query() 函数是将数组或对象转换为 URL 编码的字符串的有用工具。使用此函数有助于轻松地将数据发送到服务器,并确保数据被正确解析。通过指定 numeric_prefix
、arg_separator
和 enc_type
等参数,可以进一步自定义生成的字符串。