php 使用Curl传递json资料给对方及显示对方回传的json(Json格式/ API串接/ HttpRequest)

38次阅读

共计 945 个字符,预计需要花费 3 分钟才能阅读完成。

本教学使用环境介绍伺服器端:Ubuntu 18.04 LTS 资料库:Mariadb 10.1.34(Mysql)语言版本:php 7.3 本机端:MacOS High Sierra
function httpRequest($api, $data_string) {

$ch = curl_init($api);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
‘Content-Type: application/json’,
‘Content-Length: ‘ . strlen($data_string))
);
$result = curl_exec($ch);
curl_close($ch);

return json_decode($result);
}
将以下资料变成 json 格式传输传给对方接应的 <https-api-url>
$data = array(
“id” => $id,
“field” => $field
);
$data = httpRequest(‘<https-api-url>’, json_encode($data));
要印出对方回的 json key and value 内容时
echo $data->{‘message’};
如果对方回的是 json array,使用 foreach 接应即可就能够印出回圈,对方回传多少笔就印多少笔
foreach ($data as $value) {
echo $value[‘message’];
}
可以使用 sizeof 查看 object 的长度,轻松做判断
echo sizeof($data); // int
如果对方回的不是 json 只是直接传 body 过来将上面的 function 中的
return json_decode($result);
改为
return $result;
然后直接印出即可
echo $data;
Line ID:ianmacQQ:1258554508

正文完
 0