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);
输出:
Array
(
[scheme] => http
[host] => www.hello.com
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path