有关php curl扩展post多维数组的两种方法,php curl方式实现post数组数据的例子,使用curl进行服务器请求接口数据,post多维或一维数组数据的实现代码。
php curl扩展post多维数组
1、使用curl进行服务器请求接口数据,一般情况下都是post一维数组。
例子:
复制代码 代码示例:
$data = array(
'name'=>'qiu
yumi'
);
$url = "http://www.jb200.com/";
function curlPost($url,$data) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$reponse = curl_exec($ch);
if(curl_errno($ch)>0){
return false;
}
curl_close($ch);
return $reponse;
}
print_r(curlPost($url,$data));
/*
返回值:{"status":true,"available":true}
*/
2、curl post数组可能是多维数组,如果直接传递会报错(Notice),那么php有一个内置函数,可以把数组生成一个queryString的函数.http_build_query();。
传递数据时,最好把数据用http_build_query做下转换。
代码:
复制代码 代码示例:
<?php
$data = array(
'name_list'=> array('zhangsan','lisi','zhaoer'),
'age_list'=>array('16','14','19'),
'name'=>'person'
);
$url = "http://www.jb200.com/";
function curlPost($url,$data) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$reponse = curl_exec($ch);
if(curl_errno($ch)>0){
return false;
}
curl_close($ch);
return $reponse;
}
echo http_build_query($data);
// print_r(curlPost($url,$data));