?
http_build_query
(PHP 5)
http_build_query?―?生成 URL-encode 之后的请求字符串
说明
string?http_build_query?(?array?$formdata?[,?string?$numeric_prefix?] )
使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。参数?formdata?可以是数组或包含属性的对象。一个?formdata?数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。如果在基础数组中使用了数字下标同时给出了?numeric_prefix?参数,此参数值将会作为基础数组中的数字下标元素的前缀。这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名。
Note:
用?arg_separator.output?来分隔参数。
Example #1?http_build_query()?使用示例
<?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
?>
Example #2?http_build_query()?使用数字下标的元素
<?php
$data?=?array('foo',?'bar',?'baz',?'boom',?'cow'?=>?'milk',?'php'?=>'hypertext?processor');
??????????????
echo?http_build_query($data);
?
echo?http_build_query($data,?'myvar_');
?>
=======================================================================================
简单的理解这两个函数
parse_str就是将一个url ?后面的参数转换成一个数组
array parse_str(url,arr)
parse_url是将一个完整的url解析成数组
array parse_url(string url)
http_build_query就是将一个数组转换成url ?后面的参数字符串,会自动进行urlencode处理
string http_build_query ( array formdata [, string numeric_prefix])
后面的给数组中没有指定键或者键为数字的加下标