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之Smarty入门
Jan 04 PHP
php中根据某年第几天计算出日期年月日的代码
Feb 24 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
解析php开发中的中文编码问题
Aug 08 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
yii使用bootstrap分页样式的实例
Jan 17 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 PHP
Laravel框架集合用法实例浅析
May 14 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数据库连接类~~做成一个分页类!
2006/11/25 PHP
PHP 函数语法介绍一
2009/06/14 PHP
用php实现选择排序的解决方法
2013/05/04 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
BootStrap modal模态弹窗使用小结
2016/10/26 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
python getpass实现密文实例详解
2019/09/24 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
毕业生自我鉴定范文
2013/11/08 职场文书
实习心得体会
2014/01/02 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
护士心得体会范文
2016/01/25 职场文书
如何使用pdb进行Python调试
2021/06/30 Python
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers