>백엔드 개발 >PHP 튜토리얼 > php http_build_query 拼凑数组

php http_build_query 拼凑数组

WBOY
WBOY원래의
2016-06-13 13:19:471173검색

php http_build_query 拼接数组

?

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()?使用示例

<span style="line-height: 21px; color: #000000;"><span style="line-height: 21px;"><span style="line-height: 21px; color: #0000bb;"><?php <br>$data?</span><span style="line-height: 21px; color: #007700;">=?array(</span><span style="line-height: 21px; color: #dd0000;">'foo'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'bar'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">,<br>??????????????</span><span style="line-height: 21px; color: #dd0000;">'baz'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'boom'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">,<br>??????????????</span><span style="line-height: 21px; color: #dd0000;">'cow'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'milk'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">,<br>??????????????</span><span style="line-height: 21px; color: #dd0000;">'php'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'hypertext?processor'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">);<br>??????????????<br>echo?</span><span style="line-height: 21px; color: #0000bb;">http_build_query</span><span style="line-height: 21px; color: #007700;">(</span><span style="line-height: 21px; color: #0000bb;">$data</span><span style="line-height: 21px; color: #007700;">);?</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #ff8000;">//?foo=bar&baz=boom&cow=milk&php=hypertext+processor<br></span><span style="line-height: 21px; color: #0000bb;">?></span></span></span>

Example #2?http_build_query()?使用数字下标的元素

<span style="line-height: 21px; color: #000000;"><span style="line-height: 21px;"><span style="line-height: 21px; color: #0000bb;"><?php <br>$data?</span><span style="line-height: 21px; color: #007700;">=?array(</span><span style="line-height: 21px; color: #dd0000;">'foo'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'bar'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'baz'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'boom'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'cow'?</span><span style="line-height: 21px; color: #007700;">=>?</span><span style="line-height: 21px; color: #dd0000;">'milk'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'php'?</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'hypertext?processor'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">);<br>??????????????<br>echo?</span><span style="line-height: 21px; color: #0000bb;">http_build_query</span><span style="line-height: 21px; color: #007700;">(</span><span style="line-height: 21px; color: #0000bb;">$data</span></span><span style="line-height: 21px; color: #007700;"><span style="line-height: 21px;">);<br></span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #ff8000;"><br>?<br></span><span style="line-height: 21px; color: #007700;">echo?</span><span style="line-height: 21px; color: #0000bb;">http_build_query</span><span style="line-height: 21px; color: #007700;">(</span><span style="line-height: 21px; color: #0000bb;">$data</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'myvar_'</span></span><span style="line-height: 21px; color: #007700;"><span style="line-height: 21px;">);<br></span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #ff8000;"><br></span><span style="line-height: 21px; color: #0000bb;">?></span></span></span>


=======================================================================================


简单的理解这两个函数

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])

后面的给数组中没有指定键或者键为数字的加下标

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.