位置: 编程技术 - 正文
推荐整理分享PHP:http_build_query()的用法_url函数,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
(PHP 5)
http_build_query — 生成 URL-encode 之后的请求字符串
说明 string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC ]]] )使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。
参数query_data
可以是数组或包含属性的对象。
一个 query_data 数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。
如果 query_data 是一个对象,只有 public 的属性会加入结果。
numeric_prefix如果在基础数组中使用了数字下标同时给出了该参数,此参数值将会作为基础数组中的数字下标元素的前缀。
这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名。
arg_separator除非指定并使用了这个参数,否则会用 arg_separator.output 来分隔参数。
enc_type默认使用 PHP_QUERY_RFC。
如果 enc_type 是 PHP_QUERY_RFC,则编码将会以 »RFC 标准和 application/x-www-form-urlencoded 媒体类型进行编码,空格会被编码成加号(+)。
如果 enc_type 是 PHP_QUERY_RFC,将根据 »RFC 编码,空格会被百分号编码(%)。
返回值返回一个 URL 编码后的字符串。
更新日志版本 说明 5.4.0 加入了 enc_type 参数。 5.1.3 方括号也会被转义。 5.1.2 加入了参数 arg_separator。
范例Example #1 http_build_query() 使用示例
<?php$data=array('foo'=>'bar','baz'=>'boom','cow'=>'milk','php'=>'hypertextprocessor');echohttp_build_query($data)."n";echohttp_build_query($data,'','&');?>以上例程会输出:
Example #2 http_build_query() 使用数字下标的元素
<?php$data=array('foo','bar','baz','boom','cow'=>'milk','php'=>'hypertextprocessor');echohttp_build_query($data)."n";echohttp_build_query($data,'myvar_');?>以上例程会输出:
Example #3 http_build_query() 使用复杂的数组
<?php$data=array('user'=>array('name'=>'BobSmith','age'=>,'sex'=>'M','dob'=>'5//'),'pastimes'=>array('golf','opera','poker','rap'),'children'=>array('bobby'=>array('age'=>,'sex'=>'M'),'sally'=>array('age'=>8,'sex'=>'F')),'CEO');echohttp_build_query($data,'flags_');?>这会输出:(为了可读性,字已经换行了)
Note:
只有基础数组中的数字下标元素“CEO”才获取了前缀,其它数字下标元素(如 pastimes 下的元素)则不需要为了合法的变量名而加上前缀。
Example #4 http_build_query() 使用对象
<?phpclassparentClass{public$pub='publicParent';protected$prot='protectedParent';private$priv='privateParent';public$pub_bar=Null;protected$prot_bar=Null;private$priv_bar=Null;publicfunction__construct(){$this->pub_bar=newchildClass();$this->prot_bar=newchildClass();$this->priv_bar=newchildClass();}}classchildClass{public$pub='publicChild';protected$prot='protectedChild';private$priv='privateChild';}$parent=newparentClass();echohttp_build_query($parent);?>以上例程会输出:
参见parse_str() - 将字符串解析成多个变量 parse_url() - 解析 URL,返回其组成部分 urlencode() - 编码 URL 字符串 array_walk() - 使用用户自定义函数对数组中的每个元素做回调处理
PHP:base_encode()的用法_url函数 base_encode(PHP4,PHP5)base_encode使用MIMEbase对数据进行编码说明stringbase_encode(string$data)使用base对data进行编码。设计此种编码是为了使二进制数据可以通
PHP:base_decode()的用法_url函数 base_decode(PHP4,PHP5)base_decode对使用MIMEbase编码的数据进行解码说明stringbase_decode(string$data[,bool$strict=false])对base编码的data进行解码。参数data编码过的
PHP:token_get_all()的用法_Tokenizer函数 token_get_all(PHP4=4.2.0,PHP5)token_get_all将提供的源码按PHP标记进行分割说明arraytoken_get_all(string$source)token_get_all()解析提供的source源码字符,然后使用Zend引擎的
标签: PHP:http_build_query()的用法_url函数
本文链接地址:https://www.jiuchutong.com/biancheng/280584.html 转载请保留说明!友情链接: 武汉网站建设