笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述PHP:解析url和查询参数query相关的知识,希望能为你提供帮助。
解析url信息
<
?php$url = https://www.php.net/manual/zh/language.types.php?name=Tom&
age=23;
// 方式一:parse_url
print_r(parse_url($url));
// Array
// (
//[scheme] =>
https
//[host] =>
www.php.net
//[path] =>
/manual/zh/language.types.php
//[query] =>
name=Tom&
age=23
// )// 方式二:pathinfo
print_r(pathinfo($url));
// Array
// (
//[dirname] =>
https://www.php.net/manual/zh
//[basename] =>
language.types.php?name=Tom&
age=23
//[extension] =>
php?name=Tom&
age=23
//[filename] =>
language.types
// )// 方式三:basename
print_r(basename($url));
// language.types.php?name=Tom&
age=23
解析查询参数
<
?php/**
* 将字符串参数变为数组
* @param $query string
* @return array
* */
function decodeUrlQuery($query_str)$query_pairs = explode(&
, $query_str);
$params = [];
foreach ($query_pairs as $query_pair)
$item = explode(=, $query_pair);
$params[$item[0]] = $item[1];
return $params;
/**
* 将参数变为字符串
* @param $query_array array
* @return string
*/
function encodeUrlQuery($query_array)$tmp = array();
foreach ($query_array as $key =>
$value)
$tmp[] = $key . = . $value;
return implode(&
, $tmp);
// 示例
$url = https://www.php.net/manual/zh/language.types.php?name=Tom&
age=23;
// 字符串转数组
$query_str = parse_url($url)[query];
$query_array = decodeUrlQuery($query_str);
print_r($query_array);
// Array
// (
//[name] =>
Tom
//[age] =>
23
// )// 数组转字符串
print_r(encodeUrlQuery($query_array));
// name=Tom&
age=23
扩展:查询字符串编码使用php自带的查询参数编码函数
$data = https://www.songbingjia.com/android/[
name =>
Tom,
age=>
23
];
echo encodeUrlQuery($data) . PHP_EOL;
// name=Tom&
age=23echohttp_build_query($data) . PHP_EOL;
// name=Tom&
age=23
【PHP(解析url和查询参数query)】如果是中文字符就会被编码
$data = https://www.songbingjia.com/android/[
name =>
汤姆,
age =>
23
];
echo encodeUrlQuery($data) . PHP_EOL;
// name=汤姆&
age=23echohttp_build_query($data) . PHP_EOL;
// name=%E6%B1%A4%E5%A7%86&
age=23
推荐阅读
- 总结HAProxy各调度算法的实现方式及其应用场景
- 看Feign的源码一定要看这个类
- Linux系统基础知识(13)Web网站服务管理
- 算法题每日一练---第51天(找不同)
- Zabbix对Linux主机监控
- keepalived配置文件解析#Word文档导入#
- CMU 15-445 数据库课程第三课文字版 - 存储1
- Harmony OSArkUIets开发 创建视图与构建布局
- 怎么在图片上编辑文字(超简单的两种编辑方法都教给你!)