(PHP 5)
http_build_query — 生成 URL-encode 之后的请求字符串
string http_build_query ( array $formdata [, string $numeric_prefix ] )
使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。参数 formdata 可以是数组或包含属性的对象。一个 formdata 数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。如果在基础数组中使用了数字下标同时给出了 numeric_prefix 参数,此参数值将会作为基础数组中的数字下标元素的前缀。这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名。
1 | Note: |
2 | 用 arg_separator.output 来分隔参数。 |
01 | Example #1 http_build_query() 使用示例 |
02 |
03 | $data = array('foo'=>'bar', |
04 | 'baz'=>'boom', |
05 | 'cow'=>'milk', |
06 | 'php'=>'hypertext processor'); |
07 |
08 | echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor |
09 | ?> |
10 | Example #2 http_build_query() 使用数字下标的元素 |
11 |
12 | $data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor'); |
13 |
14 | echo http_build_query($data); |
15 |
16 |
17 | echo http_build_query($data, 'myvar_'); |
18 |
19 | ?> |
简单的理解这两个函数
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])