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.MVC的模板标签系统(五)
Sep 05 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
PHP计数器的实现代码
Jun 08 PHP
提高PHP性能的编码技巧以及性能优化详细解析
Aug 24 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
浅析php创建者模式
Nov 25 PHP
php定时执行任务设置详解
Feb 06 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 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内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
smarty缓存用法分析
2014/12/16 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
python中List的sort方法指南
2014/09/01 Python
浅析Python多线程下的变量问题
2015/04/28 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
python 网络爬虫初级实现代码
2016/02/27 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
Python中实现switch功能实例解析
2018/01/11 Python
python配置文件写入过程详解
2019/10/19 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
二审代理词范文
2015/05/25 职场文书
感恩教育观后感
2015/06/17 职场文书
2016年教师新年寄语
2015/08/18 职场文书
SQL Server内存机制浅探
2022/04/06 SQL Server