PHP使用http_build_query()构造URL字符串的方法

介绍:http_build_query()函数是一个将数组变量转换为 URL-encode 之后的字符串的 PHP 内置函数。当我们需要将数组数据拼接在 URL 之后进行传递时,使用该函数可以将数组快速转换成 URL 字符串。

介绍:http_build_query()函数是一个将数组变量转换为 URL-encode 之后的字符串的 PHP 内置函数。当我们需要将数组数据拼接在 URL 之后进行传递时,使用该函数可以将数组快速转换成 URL 字符串。

使用方法:

http_build_query($query_params, null, '&');

参数:

$query_params:需要编码的参数,可以是一个关联数组或者索引数组。(必填)
$num_prefix:参数名是否需要添加枚举序号。默认为"null",序号从 0 开始,如果传递了数字参数,则序号从数字参数的值开始。可以添加自己的前缀,传递一个字符串即可。(可选)
$arg_sep:参数之间使用的分隔符,默认为"&",也可以使用"|",";" 甚至是空字符串 ""。(可选)

示例1:

// 关联数组
$query_params = array('id' => 1,  'name' => 'Tom', 'age' => 20);
$query_string = http_build_query($query_params);

// 输出结果: id=1&name=Tom&age=20
echo $query_string; 

示例2:

// 索引数组
$query_params = array('Tom', 20, 'male');
$query_string = http_build_query($query_params, null, '-');

// 输出结果: 0=Tom-1=20-2=male
echo $query_string;

在应用场景中,我们经常需要构造一些 URL 参数,处理 GET 方式的请求时。使用 http_build_query() 函数可以更加方便快捷地转换数组参数为 URL-encode 之后的字符串形式,以此拼接到 URL 中,满足需求的传递参数格式。

备注:需要搭配urldecode()函数在接收到前端传递的值时进行解码,否则会出现乱码情况。

本文标题为:PHP使用http_build_query()构造URL字符串的方法

基础教程推荐