全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP调用API接口实现天气查询功能的示例

天气预报查询接口API,在这里我使用的是国家气象局天气预报接口

使用较多的还有:新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等。

1、查询方式

根据地名查询各城市天气情况

2.请求URL地址

http://route.showapi.com/9-2

3、接口参数说明:

一、系统级参数(所有接入点都需要的参数):

二、应用级参数(每个接入点有自己的参数):

4.返回参数

以JSON格式返回结果

1)系统级参数(所有接入点都会返回的参数)

2)应用级参数(系统级输出参数showapi_res_body字段中的json数据结构)

具体调用操作:

PHP中自带了处理json格式字符串的内置函数,下面做一个事例,并给出完整代码:

<?php
//查找淄博天气情况
//接口自带编写的数组
$showapi_appid = '46435'; //替换此值,在官网的"我的应用"中找到相关值
$showapi_secret = '7c55aef4ede442ffa49b24c2c808e523'; //替换此值,在官网的"我的应用"中找到相关值 
$paramArr = array(
   'showapi_appid'=> $showapi_appid,
   'areaid'=> "",
   'area'=> "淄博",
   'needMoreDay'=> "",
   'needIndex'=> "",
   'needHourData'=> "",
   'need3HourForcast'=> "",
   'needAlarm'=> ""
   //添加其他参数
);

//创建参数(包括签名的处理)接口自带编写的数组
function createParam ($paramArr,$showapi_secret) {
   $paraStr = "";
   $signStr = "";
   ksort($paramArr);
   foreach ($paramArr as $key => $val) {
     if ($key != '' && $val != '') {
       $signStr .= $key.$val;
       $paraStr .= $key.'='.urlencode($val).'&';
     }
   }
   $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5
   $sign = strtolower(md5($signStr));
   $paraStr .= 'showapi_sign='.$sign;//将md5后的值作为参数,便于服务器的效验
  
   return $paraStr;
}

$param = createParam($paramArr,$showapi_secret);
$url = 'http://route.showapi.com/9-2?'.$param; 

//获取json格式的数据 
$result = file_get_contents($url);

 //对json格式的字符串进行编码
$arr = (json_decode($result));

$v = $arr->showapi_res_body;$attr = $v->f1;

//所需要的数据进行调用
$arr1 = $attr->day_weather;
$arr2 = $attr->night_weather;
$arr3 = $attr->night_air_temperature;
$arr4 = $attr->day_air_temperature;
$arr5 = $attr->day_wind_direction;
$arr6 = $attr->night_weather_pic;
echo $arr6;
?>
//将所需要的数据添加到数据库
<?php
require_once "./DBDA.class.php";
$db = new DBDA();

$sql = "insert into weather values('','{$arr1}','{$arr2}')";
$arr = $db->query($sql);  
?>

效果如图:

以上这篇PHP调用API接口实现天气查询功能的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# 天气查询api接口  # PHP本地进行API接口测试的实例  # PHP开发api接口安全验证的实例讲解  # PHP调用接口用post方法传送json数据的实例  # PHP调用接口API封装的例子  # 淄博  # 国家气象局  # 给大家  # 接入点  # 自带  # 所需要  # 官网  # 自己的  # 的是  # 中找到  # 在这  # 数据结构  # 希望能  # 较多  # 做一个  # 如图  # 这篇  # 带了  # 里我  # 小编 


相关文章: 招贴海报怎么做,什么是海报招贴?  如何通过二级域名建站提升品牌影响力?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何在云指建站中生成FTP站点?  建站OpenVZ教程与优化策略:配置指南与性能提升  安云自助建站系统如何快速提升SEO排名?  建站之星如何取消后台验证码生成?  高端建站如何打造兼具美学与转化的品牌官网?  建站主机是否属于云主机类型?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  建站主机是什么?如何选择适合的建站主机?  如何在万网开始建站?分步指南解析  建站VPS配置与SEO优化指南:关键词排名提升策略  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  济南网站制作的价格,历城一职专官方网站?  php json中文编码为null的解决办法  常州自助建站费用包含哪些项目?  电商平台网站制作流程,电商网站如何制作?  如何设计高效校园网站?  如何在腾讯云免费申请建站?  建站之星官网登录失败?如何快速解决?  网站制作的步骤包括,正确网址格式怎么写?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何在Golang中使用replace替换模块_指定本地或远程路径  如何解决VPS建站LNMP环境配置常见问题?  如何在云主机快速搭建网站站点?  c# await 一个已经完成的Task会发生什么  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  微信小程序 input输入框控件详解及实例(多种示例)  建站之星好吗?新手能否轻松上手建站?  如何选择可靠的免备案建站服务器?  太平洋网站制作公司,网络用语太平洋是什么意思?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何用景安虚拟主机手机版绑定域名建站?  如何在IIS7中新建站点?详细步骤解析  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  ppt制作免费网站有哪些,ppt模板免费下载网站?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  建站上市公司网站建设方案与SEO优化服务定制指南  建站主机选虚拟主机还是云服务器更好?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  建站之星多图banner生成与模板自定义指南  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  详解jQuery停止动画——stop()方法的使用  如何构建满足综合性能需求的优质建站方案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。