php经典函数之parse_url:
此函数用于解析URL,非常实用。传入一个url链接,则分解URL成为一个数组并返回。直接上例子:
函数原型:mixed parse_url ( string $url [, int $component = -1 ] )
例子:
结果:
Array
(
[scheme] => http
[host] => www.recho.net
[path] => /
[query] => p=118
)
可看到,很容易分解出URL的各个部份,有时需要获取链接的所有get参数,可直接使用query即可。
还可以echo parse_url($url, PHP_URL_QUERY);直接打印get串。
第二个参数有以下可选参数:
PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT.
PHP经典函数之parse_str:
parse_str()函数可把查询字符串解析到变量中。
例1:
parse_str("id=23&name=John%20Adams");
echo $id."
";
echo $name;
?>
结果:
23
John Adams
例2:
print_r($myArray);
?>
结果:
Array
(
[id] => 23
[name] => John Adams
)
此函数和parse_url配合起来使用,可快速将GET参数及值转换为数组,不需要循环GET变量,方法:<?php
$url = 'http://www.recho.net/?p=118&a=11&b=22&c=33&d=44';
parse_str(parse_url( $url, PHP_URL_QUERY), $gets);
print_r( $gets);
?>
结果:
Array
(
[p] => 118
[a] => 11
[b] => 22
[c] => 33
[d] => 44
)
PHP经典函数之http_build_query:
使用此函数,可将一个数组转换为get参数串。如通过上面的parse_str配合parse_url得到了GET参数数组,或者手动拼装的数组等(在实际运用上很有用,比如生成单选多选的信息搜索条件时会用得很方便)。
例子:<?php
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
echo http_build_query($data);
?>
结果:
foo=bar&baz=boom&cow=milk&php=hypertext+processor