欢迎光临
我们一直在努力

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.111cn.net', 
   '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 (emptyempty($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; 
    } 

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

赞(0) 打赏
未经允许不得转载:码农资源网 » php中http_build_query函数用法详解
分享到

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册