PHP函式之parse_str()和parse_url()函式
parse_str()
說明:
parse_str() 函式把查詢字串解析到變數中。如果 str 是 URL 傳遞入的查詢字串(query string),則將它解析為變數並設定到當前作用域,並覆蓋當前作用域已存在的變數。
語法
parse_str(string,array)
引數
引數 | 描述 |
---|---|
string | 必需。規定要解析的字串。 |
array | 可選。規定儲存變數的陣列的名稱。該引數指示變數將被儲存到陣列中。 |
示例
<?php
$str = "first=value&arr[]=foobar&arr[]=baz";
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
parse_str($str, $output);
echo $output[`first`]; // value
echo $output[`arr`][0]; // foo bar
echo $output[`arr`][1]; // baz
parse_url()
說明:
解析 URL,返回其組成部分,本函式解析一個 URL 並返回一個關聯陣列,包含在 URL 中出現的各種組成部分。
語法
parse_url(string,$component=1)
引數
引數 | 描述 |
---|---|
string | 必需。規定要解析的url字串。 |
option | 可選的引數, PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一個來獲取 URL 中指定的部分的 string |
如果不指定option,parse_url會返回一個關聯陣列,陣列中可能有的鍵為:
-
host
-
port
-
user
-
pass
-
path
-
query – 在問號 ? 之後
-
fragment – 在雜湊符號 # 之後
示例
<?php
$url = "http://www.hello.com/path?arg=value#anchor";
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
輸出: