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 开发环境配置(Zend Server安装)
Apr 28 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
Jun 24 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
抛弃 PHP 代价太高
Apr 26 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
PHP实现权限管理功能示例
Sep 22 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
php提取微信账单的有效信息
Oct 01 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
Feb 20 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 PHP
PHP判断json格式是否正确的实现代码
Sep 20 #PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 #PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 #PHP
弹出模态框modal的实现方法及实例
Sep 19 #PHP
PHP 进度条函数的简单实例
Sep 19 #PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 #PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 #PHP
You might like
php创建基本身份认证站点的方法详解
2013/06/08 PHP
PHP pear安装配置教程
2016/05/14 PHP
PDO实现学生管理系统
2020/03/21 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
python中的闭包函数
2018/02/09 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
python图像和办公文档处理总结
2019/05/28 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Pytorch转tflite方式
2020/05/25 Python
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
如何用PHP实现邮件发送
2012/12/26 面试题
求职信写作要突出重点
2014/01/01 职场文书
给领导的致歉信范文
2014/01/13 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
学校清明节活动总结
2014/07/04 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
导游词书写之黄山
2019/08/06 职场文书
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript