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 相关文章推荐
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP连接MYSQL数据库的3种常用方法
Feb 27 PHP
php处理静态页面:页面设置缓存时间实例
Jun 22 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
Yii框架日志记录Logging操作示例
Jul 12 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 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
thinkphp常见路径用法分析
2014/12/02 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
vue实现微信分享功能
2018/11/28 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
python def 定义函数,调用函数方式
2020/06/02 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
Python 实现微信自动回复的方法
2020/09/11 Python
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
北承题目(C++)
2012/05/16 面试题
咖啡店的创业计划书,让你hold不住
2014/01/03 职场文书
医药个人求职信范文
2014/01/29 职场文书
给学校的建议书
2014/03/12 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
异地年检委托书范本
2014/09/24 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python
python自动化八大定位元素讲解
2021/07/09 Python
Golang实现可重入锁的示例代码
2022/05/25 Golang