本帖最后由 gz_xudada 于 2018-10-11 17:56 编辑
1.拿到一个完整url后,如何解析该url得到里面的参数 2.如何把一个数组拼接成url传递
3.测试调用
4.完整代码
[PHP] 纯文本查看 复制代码
<?php
header('Content-type:text/html;charset=utf-8');
/**
* 解析url中参数信息,返回参数数组
* @param [String] $query url字符串
* @return [Array] $params 返回url参数的数组
*/
function convertUrlQuery($query){
$queryParts = explode('&', $query);
$params = array();
foreach ($queryParts as $param) {
$item = explode('=', $param);
$params[$item[0]] = $item[1];
}
return $params;
}
/**
* 把数组拼接成url参数形式
* @param [Array] $array_query 需要转换成url参数的数组
* @return [String] $params 返回一个拼接好的字符串,格式为:key1=value1&key2=value2
*/
function getUrlQuery($array_query){
$tmp = array();
foreach ($array_query as $k => $param) {
$tmp[] = $k . '=' . $param;
}
$params = implode('&', $tmp);
return $params;
}
// 测试调用
// 定义一个url字符串
$url = 'http://www.itcast.cn/subject/phpzly/index.shtml?username=zhangsan&age=23';
// 解析url,得到参数字符串
$url = parse_url($url);
// 字符串->数组
$param_arr = convertUrlQuery($url['query']);
echo "<pre>";
var_dump($param_arr);
// 数组->字符串
$param_str = getUrlQuery($param_arr);
var_dump($param_str);
?>
|