本文執行個體講述了php擷取url參數方法。分享給大家供大家參考。具體如下:
在php中擷取url中參數的方法有很多種,其中最簡單的就直接使用parse_url函數了,他可以很方便快速的自動解析url參數與值並儲存期到對應的數組中,其它的一種方法基本都是Regex來操作了。
parse_url函數
我們先來瞭解一下parse_url函數,官方解決
說明:
mixed parse_url ( string $url [, int $component = -1 ] )
本函數解析一個 URL 並返回一個關聯陣列,包含在 URL 中出現的各種組成部分。
本函數不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受, parse_url() 會嘗試盡量正確地將其解析。
要解析的 URL。無效字元將使用 _ 來替換。
執行個體如下:
複製代碼 代碼如下:
$url = "http://www.jb51.net/welcome/";
$parts = parse_url($url);
print_r($parts);
array
(
[scheme] => http
[host] => www.jb51.net
[path] => /welcome/
)
也可以自己去寫一個演算法!如下
複製代碼 代碼如下:
function getParams()
{
$url = '/index.php?_p=index&_a=show&x=12&y=23';
$refer_url = parse_url($url);
$params = $refer_url['query'];
$arr = array();
if(!empty($params))
{
$paramsArr = explode('&',$params);
foreach($paramsArr as $k=>$v)
{
$a = explode('=',$v);
$arr[$a[0]] = $a[1];
}
}
return $arr;
}
調用方法
複製代碼 代碼如下:
$arr = getParams();
print_r($arr);
運行結果如下:
複製代碼 代碼如下:
Array ( [_p] => index [_a] => show [x] => 12 [y] => 23 )
希望本文所述對大家的PHP程式設計有所協助。