這里介紹兩種對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¶m2=2¶m3=3';
// 解析url,得到參數字符串
$url = parse_url($url);
// 字符串->數組
$param_arr = $this->convertUrlQuery($url['query']);
// 數組->字符串
$param_str = $this->getUrlQuery($param_arr);