在php中獲取url中參數的方法有很多種,其中最簡單的就直接使用parse_url函數了,他可以很方便快速的自動解析url參數與值并保存期到對應的數組中,其它的一種方法基本都是正則表達式來操作了。
parse_url函數
我們先來了解一下parse_url函數,官方解決
說明:mixed parse_url ( string $url [, int $component = -1 ] )
本函數解析一個 URL 并返回一個關聯數組,包含在 URL 中出現的各種組成部分,本函數不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分,不完整的 URL 也被接受,parse_url() 會嘗試盡量正確地將其解析。
要解析的 URL 無效字符將使用 _ 來替換。
實例代碼如下:
- $url = "http://www.companysz.com/welcome/";
- $parts = parse_url($url);
- print_r($parts);
- array
- (
- [scheme] => http
- [host] => www.companysz.com
- [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(!emptyempty($params))
- {
- $paramsArr = explode('&',$params);
- foreach($paramsArr as $k=>$v)
- {
- $a = explode('=',$v);
- $arr[$a[0]] = $a[1];
- }
- }
- return $arr;
- }
調用方法,代碼如下:
$arr = getParams(); print_r($arr);
新聞熱點
疑難解答