PHP中的URL编码和解码函数有哪些?掌握这10个
在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编码和解码函数。我们可以根据不同的需求,使用这些函数将数据转换为适合网络传输的格式。
