http_build_query — 生成 URL-encode 之后的请求字符串
参数
query_data
可以是数组或包含属性的对象。
一个 query_data 数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。
如果 query_data 是一个对象,只有 public 的属性会加入结果。
numeric_prefix
如果在基础数组中使用了数字下标同时给出了该参数,此参数值将会作为基础数组中的数字下标元素的前缀。
这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名。
arg_separator
除非指定并使用了这个参数,否则会用 arg_separator.output 来分隔参数。
enc_type
默认使用 PHP_QUERY_RFC1738。
如果 enc_type 是 PHP_QUERY_RFC1738,则编码将会以 » RFC 1738 标准和 application/x-www-form-urlencoded 媒体类型进行编码,空格会被编码成加号(+)。
如果 enc_type 是 PHP_QUERY_RFC3986,将根据 » RFC 3986 编码,空格会被百分号编码(%20)。
返回值
返回一个 URL 编码后的字符串。
相关推荐
本文实例讲述了PHP使用http_build_query()构造URL字符串的方法。分享给大家供大家参考,具体如下: 简单来说,http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理。 ...
从对象(JavaScript中php的http_build_query())生成URL编码的查询字符串。 安装: $ npm install http-build-query 用法: var httpBuildQuery = require ( 'http-build-query' ) ; // Simple using var obj = ...
在PHP编程中,`http_build_query` 是一个非常实用的函数,它用于将关联数组或者对象转换成HTTP查询字符串格式。这个函数对于处理POST请求的数据,尤其是与CURL库配合时,尤为关键。在给定的标题和描述中,提到了在...
$query_string = http_build_query($array); // 输出:name=lizhong&age=18 ``` #### 2.2 一维索引数组 ```php $array = array('lizhong', 18); $query_string = http_build_query($array); // 输出:0=lizhong&1=...
`http_build_query()`是PHP中一个非常实用的函数,它用于将数组转换为URL编码的字符串,这在构建HTTP请求,特别是GET请求时非常有用。这个函数能够处理各种类型的数组结构,包括一维、多维以及混合索引和关联数组。 ...
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); return $response; } } ``` 在这个例子中...
$query = http_build_query($queryParams); // 将数组转换回查询字符串 $mergedUrl = $scheme . '://' . $authority . $path . '?' . $query; echo $mergedUrl; // 输出:...
$options = array('http' => array('method' => 'POST', 'content' => http_build_query($data))); $context = stream_context_create($options); $response = file_get_contents('your_url', false, $context); ```...
'header' => "Content-type: application/x-www-form-urlencoded\r\nContent-Length: " . strlen(http_build_query($post_data)), 'content' => http_build_query($post_data) ] ]); $fp = stream_socket_client...
$paramstring = http_build_query($params); $content = juhecurl($url, $paramstring); $result = json_decode($content, true); if ($result && $result['error_code'] == '0') { print_r($result); } else ...
- `$_SERVER['QUERY_STRING']`包含了URL中的查询字符串。 - 要获取URL中的特定参数,可以使用`$_GET`数组,例如`$_GET['pid']`将获取URL中名为`pid`的参数值。 6. **处理URL**: 示例中提到了一个名为`url::...
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param)); $response = curl_exec($ch); curl_close($ch); // 解析并处理返回结果 $result = json_decode($response, true); if ($result && $result['code...
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); } if (!empty($headers)) { curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); } $response = curl_exec($ch); $httpCode = curl_getinfo...
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); ``` 这里的数据应根据实际API接口的参数要求来设定。 5. **其他选项**:还可以设置其他选项,如是否返回响应(而不是直接输出)、超时时间等。 ``...
可以通过`$_SERVER['QUERY_STRING']`获取,它是URL中“?”后面的部分。 6. **片段标识符**: PHP本身不提供直接获取片段标识符(URL中的“#”部分)的方法,因为这是浏览器本地处理的部分,通常不会发送到服务器...