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将数据库中的电话号码读取出来并生成图片
Aug 31 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
php设计模式 Bridge (桥接模式)
Jun 26 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
php事务处理实例详解
Jul 11 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 PHP
用php实现分页效果的示例代码
Dec 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
php中文字符截取防乱码
2008/03/28 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
JS验证字符串功能
2017/02/22 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
vue中路由跳转不计入history的操作
2020/09/21 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
用Python编写一个国际象棋AI程序
2014/11/28 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
电大本科自我鉴定
2014/02/05 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
springboot用户数据修改的详细实现
2022/04/06 Java/Android
使用Python拟合函数曲线
2022/04/14 Python
volatile保证可见性及重排序方法
2022/08/05 Java/Android