网站地图    收藏   

主页 > php专栏 > php函数大全 >

php中http_build_query 函数用法详解 - php函数

来源:自学PHP网    时间:2014-11-25 00:27 作者: 阅读:

[导读] 在php中http_build_query函数是一个被大多数据程序员看忘记的函数,就我现在都不知道http_build_query的作用,下面我给大家分享一篇文章一起...

php中http_build_query 函数用法详解

在php中http_build_query函数是一个被大多数据程序员看忘记的函数,就我现在都不知道http_build_query的作用,下面我给大家分享一篇文章一起来学习学习吧.

具体方法:

当我们使用CURL来post数据的时候,需要设置post的数据curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);假如这里的$data是

  1. $data = array
  2.    'name'=>'www.111cn.net'
  3.    'time'=>'2012-2-3' 

接下来,需要先将$data变成字符串

  1. $post_data = http_build_query($data); 

而采用 http_build_query 转换后再curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);

看起来没有什么问题.但在实际操作中,$post_data 并没有被post过去.于是,自己写了个转换的方法后就OK了.

实例代码如下:

  1. function getStr($array,$Separator='&') { 
  2.         if (emptyempty($array)) 
  3.             return
  4.         if (!is_array($array)) { 
  5.             return $array
  6.         } 
  7.         $returnStr = ''
  8.         foreach ($array as $key => $val) { 
  9.             $temp = ''
  10.             if (is_array($val)) { 
  11.                 for ($i = 0; $i < count($val); $i++) { 
  12.                     $returnStr .= $key . '[' . $i . ']' . '=' . $val[$i] . $Separator
  13.                 } 
  14.             } else { 
  15.                 $returnStr.= $key . '=' . $val . $Separator
  16.             } 
  17.         } 
  18.         $returnStr = substr(trim($returnStr), 0, -1); 
  19.         return $returnStr
  20.     } 

测试 http_build_query($data,"","&"); 即可,无需自己写方法解析了.http_build_query 就是将一个数组转换成url ?后面的参数字符串,会自动进行urlencode处理,string http_build_query ( array formdata [, string numeric_prefix]),后面的给数组中没有指定键或者键为数字的加下标.

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论