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


Posted in PHP onSeptember 21, 2017

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

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

1、查询方式

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

2.请求URL地址

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

3、接口参数说明:

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

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

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

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

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接口实现天气查询功能的示例

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

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

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(2)
Oct 09 PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
探讨各种PHP字符串函数的总结分析
Jun 05 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
Jun 28 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 PHP
PHP判断json格式是否正确的实现代码
Sep 20 #PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 #PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 #PHP
PHP使用Nginx实现反向代理
Sep 20 #PHP
弹出模态框modal的实现方法及实例
Sep 19 #PHP
PHP 进度条函数的简单实例
Sep 19 #PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 #PHP
You might like
php预定义常量
2006/12/25 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
JQuery datepicker 使用方法
2011/05/20 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
通过Pandas读取大文件的实例
2018/06/07 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
计算机专业个人求职信范例
2013/09/23 职场文书
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
农村葬礼主持词
2014/03/31 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
数学教研活动总结
2014/07/02 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
2014年资料员工作总结
2014/11/18 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
宣传稿格式范文
2015/07/23 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python