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加密解密的代码
Oct 09 PHP
一个程序下载的管理程序(一)
Oct 09 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 PHP
php中数字0和空值的区别分析
Jun 05 PHP
thinkphp配置文件路径的实现方法
Aug 30 PHP
PHP MYSQL简易交互式站点开发
Dec 27 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
php实现获取近几日、月时间示例
Jul 06 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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
php下实现农历日历的代码
2007/03/07 PHP
php 魔术方法使用说明
2009/10/20 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
JavaScript 的继承
2011/10/01 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
js登录弹出层特效
2014/03/07 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
python实现socket客户端和服务端简单示例
2014/02/24 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
什么是TCP/IP
2014/07/27 面试题
作风建设演讲稿
2014/05/23 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
先进个人自荐书
2015/03/06 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书