作為一個PHP開發人員經常會用到從URL中獲取參數,從而找到自己想要的參數,今天吾愛編程為大家介紹如下方法,代碼如下:
<?php
//例舉一個URL格式的字符串:
$str = 'http://www.52itbc.tv/weixin/order.html?act=AddOrder&gid=520';
//1.0 用parse_url解析URL,此處是$str
$arr = parse_url($str);
var_dump($arr['path']);
//2.0 將URL中的參數取出來放到數組裡
$arr_query = convertUrlQuery($arr['query']);
var_dump($arr_query);
//3.0 將 參數數組 再變回 字符串形式的參數格式
var_dump(getUrlQuery($arr_query));
/**
* Returns the url query as associative array
*
* @param string query
* @return array params
*/
function convertUrlQuery($query)
{
$queryParts = explode('&', $query);
$params = array();
foreach ($queryParts as $param)
{
$item = explode('=', $param);
$params[$item[0]] = $item[1];
}
return $params;
}
function getUrlQuery($array_query)
{
$tmp = array();
foreach($array_query as $k=>$param)
{
$tmp[] = $k.'='.$param;
}
$params = implode('&',$tmp);
return $params;
}
結果如下:
array(4) {
["scheme"]=>
string(4) "http"
["host"]=>
string(13) "www.52itbc.tv"
["path"]=>
string(18) "/weixin/order.html"
["query"]=>
string(20) "act=AddOrder&gid=520"
}
array(2) {
["act"]=>
string(8) "AddOrder"
["gid"]=>
string(3) "520"
}
string(20) "act=AddOrder&gid=520"
*