0

0

微信公众平台开发(五) 天气预报功能开发_PHP教程

PHP中文网

PHP中文网

发布时间:2016-07-20 11:12:59

|

1263人浏览过

|

来源于php中文网

原创

前面几篇文章对微信公众平台的开通及简单使用做了简单的介绍,但都没有涉及到实际使用中的问题,例如天气查询,公交查询,快递查询等。接下来的几篇文章将对实际生活中会经常使用到的一些功能进行开发讲解,以供读者参考。

这一篇文章将对大家每天都会关心的天气查询进行开发,例如,用户发送消息 “苏州天气”,则会返回苏州实时天气状况,以及未来两天甚至未来五天的天气状况。

首先要对用户发送过来的消息进行判断,判断消息里是否含有“天气”关键字,如果含有,则需要继续提取地区信息,然后再通过中国天气网(http://www.weather.com.cn)提供的开放API进行相关地区天气查询。

立即学习PHP免费学习笔记(深入)”;

用户发送过来查询天气的消息的格式是固定好的,即 “地区+天气”,所以首先截取后两个字,判断是否为 “天气” 关键字。

使用php函数 mb_substr() 截取,关于该函数的用法:

 从字符串开头指定位置开始;
负数 -> 从字符串结尾指定位置开始;
length
str 中要使用的最大字符数。
正数 -> 从 start  string 末尾处的 length 个字符将会被漏掉(若 start 是负数则从字符串开头算起)。
encoding
encoding 参数为字符编码。如果省略,则使用内部字符编码。mb_substr() 函数根据 start 和 length 
参数返回 str 中指定的部分。

$str = mb_substr($keyword,-2,2,"UTF-8");

从消息的结尾数第二个字符开始截取,截取两个字符,然后加以判断是否为 “天气” 关键字。

下面进行地区提取,还是使用 mb_substr() 函数。

$str_key = mb_substr($keyword,0,-2,"UTF-8");

从消息的开头开始,截掉末尾的两个字符(天气),既得地区关键字。

然后进行判断,继而调用函数查询天气数据。

我们这里调用的是中国国家气象局提供的天气预报API接口,接口地址:http://m.weather.com.cn/data/101190401.html

URL中的数字指代城市的编号101190401(苏州),其他城市对应关系将在下面提供。

该接口返回信息比较全面,也是以json格式提供,格式如下:

weather() 函数如下:

这里include 了一个城市对应关系文件 weather_cityId.php,格式如下:

"101010100","上海"=>"101020100","苏州"=>"101190401"

根据传入的城市名,得到城市代码,如果不为空,则调用中国天气网的API进行查询,返回json格式的数据,然后进行解析并返回数据,如果为空,则返回null值。

判断返回数据是否为空,若为空,则 $contentStr = "抱歉,没有查到\"".$str_key."\"的天气信息!";

若返回数据不为空,则:

$contentStr = "【".$data->weatherinfo->city."天气预报】\n".$data->weatherinfo->date_y." 
".$data->weatherinfo->fchh."时发布"."\n\n实时天气\n".$data->weatherinfo->weather1." 
".$data->weatherinfo->temp1." ".$data->weatherinfo->wind1."\n\n温馨提示:".
$data->weatherinfo->index_d."\n\n明天\n".$data->weatherinfo->weather2." ".
$data->weatherinfo->temp2." ".$data->weatherinfo->wind2."\n\n后天\n".
$data->weatherinfo->weather3." ".$data->weatherinfo->temp3." ".
$data->weatherinfo->wind3;

说明:

Lifetoon
Lifetoon

免费的AI漫画创作平台

下载

weatherinfo->city  //获取城市名,这里为苏州

weatherinfo->date_y  //获取日期,这里为2013年7月9日

weatherinfo->fchh  //数据发布时间

weatherinfo->weather1  //实时天气

weatherinfo->temp1  //实时温度

weatherinfo->wind1  //实时风向和风速

weatherinfo->index_d  //穿衣指数

handleText(handleEvent(
                
    weather(weatherinfo->city."天气预报】\n".
                weatherinfo->date_y." ".weatherinfo->fchh."时发布"."\n\n实时天气\n".
                weatherinfo->weather1." ".weatherinfo->temp1." ".
                weatherinfo->wind1."\n\n温馨提示:".weatherinfo->index_d."\n\n明天\n".
                weatherinfo->weather2." ".weatherinfo->temp2." ".
                weatherinfo->wind2."\n\n后天\n".weatherinfo->weather3." ".
                weatherinfo->temp3." ".weatherinfo->responseText(FromUserName, ToUserName, 

关于城市对应关系文件 weather_cityId.php,目前更新到了400多个城市,以后还会继续增加,请到QQ群213260412下载吧。

请关注卓锦苏州 微信公众帐号,卓锦苏州 基于SAE 平台开发,针对于主流的微信功能进行开发测试。

您可以关注 卓锦苏州 公众帐号进行功能测试,以及获取新的应用开发。

1. 登录微信客户端,朋友们 -> 添加朋友 -> 搜号码 -> zhuojinsz,查找并关注。

2. 扫描二维码:

卓锦苏州 功能列表。

 


以上就是微信公众平台开发(五) 天气预报功能开发_PHP教程的内容,更多相关内容请关注PHP中文网(www.php.cn)!

http://www.bkjia.com/PHPjc/440409.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440409.htmlTechArticle前面几篇文章对微信公众平台的开通及简单使用做了简单的介绍,但都没有涉及到实际使用中的问题,例如天气查询,公交查询,快递查询...


相关文章

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 6.4万人学习

Uniapp180分钟快速入门
Uniapp180分钟快速入门

共25课时 | 4.5万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共67课时 | 9.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号