php 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是

$data = array(

'name'=>'www.jquerycn.cn',

'time'=>'2012-2-3'

)

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

$post_data = http_build_query($data);

而采用 http_build_query 转换后再

curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);

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

 代码如下复制代码

function getStr($array,$Separator='&') {

if (empty($array))

return;

if (!is_array($array)) {

return $array;

}

$returnStr = '';

foreach ($array as $key => $val) {

$temp = '';

if (is_array($val)) {

for ($i = 0; $i < count($val); $i ) {

$returnStr .= $key . '[' . $i . ']' . '=' . $val[$i] . $Separator;

}

} else {

$returnStr.= $key . '=' . $val . $Separator;

}

}

$returnStr = substr(trim($returnStr), 0, -1);

return $returnStr;

}

感谢 黄斌-huangbin 童鞋的测试 http_build_query($data,"","&"); 即可,无需自己写方法解析了。

http_build_query 就是将一个数组转换成url ?后面的参数字符串,会自动进行urlencode处理

string http_build_query ( array formdata [, string numeric_prefix])

后面的给数组中没有指定键或者键为数字的加下标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值