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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
PHP获取url的函数代码
Aug 02 PHP
codeigniter框架批量插入数据
Jan 09 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
PHP快速推送微信模板消息
Apr 14 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
PHP的PDO大对象(LOBs)
Jan 27 PHP
php的扩展写法总结
May 14 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
popdiv
2006/07/14 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
vue如何根据网站路由判断页面主题色详解
2018/11/02 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
Python实现的多线程端口扫描工具分享
2015/01/21 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
python实现画图工具
2020/08/27 Python
Python实现区域填充的示例代码
2021/02/03 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
业务员岗位职责范本
2013/12/15 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
节约用水倡议书
2014/04/16 职场文书
红头文件任命书范本
2014/06/05 职场文书
反对邪教标语
2014/06/30 职场文书
党代会心得体会
2014/09/04 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
2019个人半年工作总结
2019/06/21 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
Python中基础数据类型 set集合知识点总结
2021/08/02 Python