解析URL参数

1、拿到一个完整url后,如何解析该url得到里面的参数。
/**
 * 解析url中参数信息,返回参数数组
 */
function convertUrlQuery($query)
{
   $queryParts = explode('&', $query);
   $params = array();
   foreach ($queryParts as $param) {
      $item = explode('=', $param);
      $params[$item[0]] = $item[1];
   }
   return $params;
}

2、如何把一个数组拼接成url传递。
/**
 * 把数组拼接成url参数形式
 */
function getUrlQuery($array_query)
{
   $tmp = array();
   foreach ($array_query as $k => $param) {
      $tmp[] = $k . '=' . $param;
   }
   $params = implode('&', $tmp);
   return $params;
}

测试调用:
$url = 'http://www.test.com/link?param1=1&param2=2&param3=3';
// 解析url,得到参数字符串
$url = parse_url($url);
// 字符串->数组
$param_arr = $this->convertUrlQuery($url['query']);
// 数组->字符串
$param_str = $this->getUrlQuery($param_arr);
posted @ 2018-11-30 14:08  心之所依  阅读(9301)  评论(0编辑  收藏  举报