php将get传参解析成数组,php解析url (parse_url) 参数成数组 (parse_str)
今天首先讓我們?yōu)樘旖?.12大爆炸和陜西山陽山體滑坡遇難的同胞默哀3分鐘,祝愿受傷的群眾早日康復(fù),脫離危險(xiǎn),希望國(guó)家嚴(yán)懲事故責(zé)任人,安撫受損群眾。希望杯具以后不再發(fā)生……最近天災(zāi)人禍,大家出行一定要注意安全!
通過php獲取了當(dāng)前url,如果需要提取url中的參數(shù)的話該如何操作呢?這個(gè)過程其實(shí)挺簡(jiǎn)單,使用php的兩個(gè)內(nèi)置函數(shù)就可以順利完成,即parse_url和parse_str函數(shù)。下面將對(duì)這兩個(gè)函數(shù)做簡(jiǎn)要說明以及用示例說明如何提取url中的參數(shù)。
(1)parse_url (PHP 4, PHP 5) — 解析 URL,返回其組成部分,函數(shù)原型如下:
mixed parse_url ( string $url [, int $component = -1 ] )
本函數(shù)解析一個(gè) URL 并返回一個(gè)關(guān)聯(lián)數(shù)組,包含在 URL 中出現(xiàn)的各種組成部分。
本函數(shù)不是用來驗(yàn)證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會(huì)嘗試盡量正確地將其解析。
參數(shù)說明
url 要解析的 URL。無效字符將使用 _ 來替換。
component 指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一個(gè)來獲取 URL 中指定的部分的 string。 (除了指定為 PHP_URL_PORT 后,將返回一個(gè) integer 的值)。
返回值
對(duì)嚴(yán)重不合格的 URL,parse_url() 可能會(huì)返回 FALSE。
如果省略了 component 參數(shù),將返回一個(gè)關(guān)聯(lián)數(shù)組 array,在目前至少會(huì)有一個(gè)元素在該數(shù)組中。數(shù)組中可能的鍵有以下幾種:
scheme - 如 http
host
port
user
pass
path
query - 在問號(hào) ? 之后
fragment - 在散列符號(hào) # 之后
如果指定了 component 參數(shù), parse_url() 返回一個(gè) string (或在指定為 PHP_URL_PORT 時(shí)返回一個(gè) integer)而不是 array。如果 URL 中指定的組成部分不存在,將會(huì)返回 NULL。
(2)parse_str - 把查詢字符串解析到變量中,函數(shù)原型如下:
parse_str(string,array)
參數(shù)說明
string 必需。規(guī)定要解析的字符串。
array 可選。規(guī)定存儲(chǔ)變量的數(shù)組名稱。該參數(shù)指示變量存儲(chǔ)到數(shù)組中。如果未設(shè)置 array 參數(shù),由該函數(shù)設(shè)置的變量將覆蓋已由同名變量。
注釋:php.ini 中的 magic_quotes_gpc 設(shè)置影響該函數(shù)的輸出。如果已啟用,那么在 parse_str() 解析之前,變量會(huì)被 addslashes() 轉(zhuǎn)換。
(3)具體提取url中的參數(shù)示例如下:
查看代碼打印
1
2
$url='http://www.xxx.com/ad.php?id=325&action=index&page=3';
3
$urlarr=parse_url($url);
4
parse_str($urlarr['query'],$parr);
5
print_r($urlarr);
6
print_r($parr);
打印的結(jié)果如下:
Array( [scheme] => http [host] => www.xxx.com [path] => /ad.php [query] => id=325&action=index&page=3)Array( [id] => 325 [action] => index [page] => 3)
總結(jié)
以上是生活随笔為你收集整理的php将get传参解析成数组,php解析url (parse_url) 参数成数组 (parse_str)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C指针原理(18)-C指针基础
- 下一篇: 迈普路由器访问控制列表配置命令_如何选购