需要构造一个链接,其中的查询字符串中包含名/值对。
使用http_build_query()函数:
$vars = array('name' => 'Oscar the Grouch',
'color' => 'green',
'favorite_punctuation' => '#');
$query_string = http_build_query($vars);
echo $query_string;
$url = '/muppet/select.php?'. $query_string;
*http_build_query 是 PHP 中的一个函数,用于生成 URL-encoded 的查询字符串。这个函数接收一个关联数组或者数值数组作为输入,然后返回一个格式化的查询字符串,这个字符串可以用于 URL 的查询部分。
string http_build_query ( array $formdata [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC3986 ]]] )
参数说明
formdata:必需。一个关联数组或者数值数组,包含了要编码的数据。
numeric_prefix:可选。如果数组中的值是数字,这个参数定义了数字键名前面的前缀。默认值是空字符串。
arg_separator:可选。用来分隔参数的字符串。默认是 &。
enc_type:可选。用来指定编码类型。可以是 PHP_QUERY_RFC1738(将空格编码为 +)或者 PHP_QUERY_RFC3986(将空格编码为 %20),默认是 PHP_QUERY_RFC3986。
返回值
返回一个 URL-encoded 的查询字符串
使用场景
http_build_query 函数常用于构建 GET 请求的 URL,或者构建 POST 请求的数据部分(尽管 POST 请求的数据通常不会直接显示在 URL 中,但在某些 API 调用中,POST 请求的数据也可能需要按照查询字符串的格式进行编码)。