PHP函数http_build_query使用详解


Posted in PHP onAugust 20, 2014

什么是http_build_query?

使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。参数 formdata 可以是数组或包含属性的对象。一个 formdata 数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。如果在基础数组中使用了数字下标同时给出了 numeric_prefix 参数,此参数值将会作为基础数组中的数字下标元素的前缀。这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名
http_build_query有多种用法,不仅可以传入关联数组,同时也可以传入索引数组,甚至多维数组以及对象。

http_build_query怎么使用?

string http_build_query ( array $formdata [, string $numeric_prefix ] )

传入一维关联数组

Array

(

    [name] => lizhong

    [age] => 18

)

name=lizhong&age=18

传入一维索引数组

Array

(

    [0] => lizhong

    [1] => 18

)

0=lizhong&1=18

传入二维数组
Array

(

    [a] => Array

        (

            [a] => a

            [b] => b

        )
    [c] => c

)
a%5Ba%5D=a&a%5Bb%5D=b&c=c

传入对象
class Obj{

    public $a = 'a';

    public $b = 'b';

    private $c = 'c';

    public function func(){

        return; 

    }

}

 

 

$obj = new Obj();

 

$str = http_build_query($obj);

 

echo $str;

输出:
a=a&b=b

因为$c为私有变量,所以访问不到$c成员,于是只有a与b被输出。而对象里的function也不会被打印出来!
PHP 相关文章推荐
Apache设置虚拟WEB
Oct 09 PHP
php扩展ZF――Validate扩展
Jan 10 PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
php max_execution_time执行时间问题
Jul 17 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
Yii框架form表单用法实例
Dec 04 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
PHP函数in_array()使用详解
Aug 20 #PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 #PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 #PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 #PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 #PHP
php实现文件下载代码分享
Aug 19 #PHP
PHP中array_map与array_column之间的关系分析
Aug 19 #PHP
You might like
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
用PHP生成html分页列表的代码
2007/03/18 PHP
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
分析python动态规划的递归、非递归实现
2018/03/04 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
通过Python实现一个简单的html页面
2020/05/16 Python
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
本科生求职简历的自我评价
2013/10/21 职场文书
公益广告宣传方案
2014/02/28 职场文书
理财投资建议书
2014/03/12 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
稽核岗位职责范本
2015/04/13 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
MySQL学习必备条件查询数据
2022/03/25 MySQL
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python