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 八种基本的数据类型小结
Jun 01 PHP
php结合表单实现一些简单功能的例子
Jun 04 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
简单实现限定phpmyadmin访问ip的方法
Mar 05 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
PHP网络操作函数汇总
May 18 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
四个PHP非常实用的功能
Sep 29 PHP
php中二分法查找算法实例分析
Sep 22 PHP
降低PHP Redis内存占用
Mar 23 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 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与XML联手进行网站编程代码实例
2008/07/10 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
jQuery 页面 Mask实现代码
2010/01/09 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
vue2.0安装style/css loader的方法
2018/03/14 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
对python中的pop函数和append函数详解
2018/05/04 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
基于python3生成标签云代码解析
2020/02/18 Python
Django如何使用redis作为缓存
2020/05/21 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
中学教师管理制度
2014/01/14 职场文书
小学班主任评语大全
2014/04/23 职场文书
有关环保的标语
2014/06/13 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
小学六年级毕业感言
2015/07/30 职场文书