看代码,一切尽在不言中
<?php
// 原 url
$url = 'http://www.baidu.com/index.php?para=999&mode=xxx';
// 解析 url 的各个部分
$arr = parse_url($url);
var_dump($arr);
// 获取参数数组
$arr_query = ConvertUrlParaStringToArray($arr['query']);
var_dump($arr_query);
// 修改参数数组的值
$arr_query["mode"] = "abc";
// 根据参数数组获取参数字符串
$str_query = ConvertUrlParaArrayToString($arr_query);
var_dump($str_query);
/*
* 函数定义
*/
// 将 url 参数字符串转为数组
// 字符串形式例如 "para=abc&mode=123"
function ConvertUrlParaStringToArray($query)
{
$queryParts = explode('&', $query);
$params = array();
foreach ($queryParts as $param)
{
$item = explode('=', $param);
$params[$item[0]] = $item[1];
}
return $params;
}
// 将参数数组转为字符串
// 返回不带 '?' 的 url 参数字符串
function ConvertUrlParaArrayToString($array_query)
{
$tmp = array();
foreach ($array_query as $k=>$param)
{
$tmp[] = $k.'='.$param;
}
$params = implode('&',$tmp);
return $params;
}
?>
参考 https://blog.csdn.net/gb4215287/article/details/88665525