PHP函数http_build_query使用详解
什么是http_build_query?
使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。参数 formdata 可以是数组或包含属性的对象。一个 formdata 数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。如果在基础数组中使用了数字下标同时给出了 numeric_prefix 参数,此参数值将会作为基础数组中的数字下标元素的前缀。这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名
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中解析带中文字符的url函数分享
很多时候,在书写网页应用程序时候,会遇到中文和其他字符冲突的问题,例如有的url链接中包含中文字符,那么在使用wget/curl/file_get_contents等等获取信息时候会直接撞上一个大大的"404",会很无语. 这里写了一个小函数来解决这个问题,只是限于在path中进行解析而已,涉及到的相关函数使用大家可以查看手册就行. 复制代码 代码如下: function urlConvert($url){ $pathArr = array();
-
PHP使用http_build_query()构造URL字符串的方法
本文实例讲述了PHP使用http_build_query()构造URL字符串的方法.分享给大家供大家参考,具体如下: 简单来说,http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理. 还是引用一下官方的解释: http_build_query http_build_query -- 生成 url-encoded 之后的请求字符串描述string http_build_query ( array formdata [, str
-
php获取当前页面完整URL地址
使用PHP编写程序的时候,我们常常想要获取当前页面的URL.下面提供一个用于获取当前页面URL的函数以及使用方法: 示例一: <?php // 说明:获取完整URL function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER[&q
-
PHP实现通过URL提取根域名
PHP根据URL提取根域名,个人工作中用到,由于网络上很多代码都不能得到正确结果就自己写了一个,欢迎大家使用并提出其中的bug. <?php #使用示例 echo getBaseDomain('http://blog.jp.goo.ne.jp/index.php')->domain;echo "\n"; echo getBaseDomain('http://51.ca/index.php')->domain;echo "\n"; echo getB
-
php进行支付宝开发中return_url和notify_url的区别分析
本文实例分析了php进行支付宝开发中return_url和notify_url的区别.分享给大家供大家参考.具体分析如下: 在支付宝处理业务中return_url,notify_url是返回些什么状态呢,我们要根据它来做一些处理就必须了解return_url,notify_url的区别,下面我就来给大家介绍介绍. 问题描述: 我在处理支付宝业务中出现过这样的问题,付费完成后,在支付宝跳转到商家指定页面时,订单状态已经更新,通过调试发现是支付宝先通知notify_url,完成了订单状态. 支付宝r
-
thinkphp四种url访问方式详解
本文实例分析了thinkphp的四种url访问方式.分享给大家供大家参考.具体分析如下: 一.什么是MVC thinkphp的MVC模式非常灵活,即使只有三个中和一个也可以运行. M -Model 编写model类 对数据进行操作 V -View 编写html文件,页面呈现 C -Controller 编写类文件(UserAction.class.php) 二.ThinkPHP的MVC特点 (简单了解) 三.ThinkPHP的MVC对应的目录 (简单了解) M 项目目录/应用目录/Li
-
php使用正则表达式获取图片url的方法
本文实例讲述了php使用正则表达式获取图片url的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <?php header("Content-type:text/html;charset=utf-8"); $str = '<p><img src="images/11111111.jpg" alt="美女" /></p>'; $pattern = "/[img|IMG].*
-
php检测url是否存在的方法
本文实例讲述了php检测url是否存在的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: function url_exists($url) { $hdrs = @get_headers($url); return is_array($hdrs) ? preg_match('/^HTTP\\/\\d+\\.\\d+\\s+2\\d\\d\\s+.*$/',$hdrs[0]) : false; } 希望本文所述对大家的php程序设计有所帮助.
-
php中使用url传递数组的方法
本文实例讲述了php中使用url传递数组的方法.分享给大家供大家参考.具体分析如下: 数组传递这么写: 复制代码 代码如下: echo"<a href=2.php?info=".base64_encode(serialize($information)).">info</a>" ; 数组接收: 复制代码 代码如下: $info = unserialize(base64_decode($_GET['info'])); 访问的话: 复制代码 代码
-
PHP获取当前完整URL地址的函数
这里主要是给大家分享一个非常实用的PHP函数,代码很简单,就不多废话了,小伙伴们需要的话直接拿去用. 复制代码 代码如下: //php获取当前访问的完整url地址 function get_current_url(){ $current_url='http://'; if(isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']=='on'){ $current_url='https://'; } if($_SE
-
php动态添加url查询参数的方法
本文实例讲述了php动态添加url查询参数的方法.分享给大家供大家参考.具体分析如下: 这段代码可以动态为url添加key-value查询参数,如果参数已经存在则会用新的进行覆盖 function add_querystring_var($url, $key, $value) { $url=preg_replace('/(.*)(?|&)'.$key.'=[^&]+?(&)(.*)/i','$1$2$4',$url.'&'); $url=substr($url,0,-1);
-
php中http_build_query 的一个问题
当我们使用CURL来post数据的时候,需要设置post的数据 curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); 假如这里的$data是 复制代码 代码如下: $data = array( 'name'=>'scofield', 'time'=>'2012-2-3' ) 接下来,需要先将$data变成字符串 $post_data = http_build_query($data); 而采用 http_build_query 转换后再 curl_s
随机推荐
- 数据库连接方式汇总
- 超酷的网页音乐播放器DewPlayer使用方法
- 一个方法搞定iOS下拉放大及上推缩小
- Python实现把xml或xsl转换为html格式
- C#读写txt文件多种方法实例代码
- php对二维数组进行排序的简单实例
- Symfony2联合查询实现方法
- PHP使用静态方法的几个注意事项
- asp读取远程文件并保存到本地代码
- Android ScrollView嵌套横向滑动控件时冲突问题
- JavaScript中定时控制Throttle、Debounce和Immediate详解
- WPF实现类似360安全卫士界面的程序源码分享
- PHP 中文处理技巧
- 浅谈Ajax的缓存机制
- JAVA实现KMP算法理论和示例代码
- Java编程计算兔子生兔子的问题
- 通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
- js写一个弹出层并锁屏效果实现代码
- javascript 设置某DIV区域内的checkbox复选框
- ASP上传图片功能的又一实现(OLE对象)