欢迎访问宙启技术站
智能推送

PHP中的URL编码和解码函数有哪些?掌握这10个

发布时间:2023-06-26 03:05:30

在PHP中,有许多内置的函数可用于URL编码和解码操作,方便我们在网络上传递数据时进行数据转换和格式的转换。下面就来一一介绍这些函数。

1. urlencode()

urlencode()函数将字符串编码为URL安全的格式,用于对GET请求中的参数进行编码。

用法示例:

$string = "hello world!";
echo urlencode($string); //输出:hello+world%21

2. urldecode()

urldecode()函数解码经过urlencode()函数编码的字符串。

用法示例:

$string = "hello+world%21";
echo urldecode($string); //输出:hello world!

3. rawurlencode()

rawurlencode()函数将字符串编码为RFC 3986规范中URL的安全格式。

用法示例:

$string = "hello world!";
echo rawurlencode($string); //输出:hello%20world%21

4. rawurldecode()

rawurldecode()函数解码经过rawurlencode()函数编码的字符串。

用法示例:

$string = "hello%20world%21";
echo rawurldecode($string); //输出:hello world!

5. http_build_query()

http_build_query()函数把一个数组转换成URL的查询字符串,用于生成GET请求的链接。

用法示例:

$params = array('name' => 'Tom', 'age' => 18);
echo http_build_query($params); //输出:name=Tom&age=18

6. parse_str()

parse_str()函数将URL查询字符串解析成变量数组。

用法示例:

$string = "name=Tom&age=18";
parse_str($string, $output);
echo $output['name']; //输出:Tom

7. urlencode_array()

urlencode_array()函数将数组中的所有值进行urlencode()编码。

用法示例:

$params = array('name' => 'Tom', 'age' => 18);
$params = array_map('urlencode', $params);
echo http_build_query($params); //输出:name=Tom&age=18

8. urldecode_array()

urldecode_array()函数将数组中的所有值进行urldecode()解码。

用法示例:

$params = array('name' => 'Tom', 'age' => 18);
$params = array_map('urlencode', $params);
$params = array_map('urldecode', $params);
echo http_build_query($params); //输出:name=Tom&age=18

9. base64_encode()

base64_encode()函数将字符串进行Base64编码,用于网络传输时的数据加密。

用法示例:

$string = "hello world";
echo base64_encode($string); //输出:aGVsbG8gd29ybGQ=

10. base64_decode()

base64_decode()函数将Base64编码的数据解码。

用法示例:

$string = "aGVsbG8gd29ybGQ=";
echo base64_decode($string); //输出:hello world

综上所述,这是在PHP中常用的10个URL编码和解码函数。我们可以根据不同的需求,使用这些函数将数据转换为适合网络传输的格式。