位置: 编程技术 - 正文

微信公众平台开发(五) 天气预报功能开发(微信公众平台官网)

编辑:rootadmin

推荐整理分享微信公众平台开发(五) 天气预报功能开发(微信公众平台官网),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信公众平台开发者文档,怎么开通公众号微信公众平台,微信公众平台小程序注册,微信公众平台开发者文档,微信公众平台开发,微信公众平台开发者文档,微信公众平台开店,微信公众平台开发,内容如对您有帮助,希望把文章链接给更多的朋友!

一、简介

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

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

二、思路分析

首先要对用户发送过来的消息进行判断,判断消息里是否含有“天气”关键字,如果含有,则需要继续提取地区信息,然后再通过中国天气网( “地区+天气”,所以首先截取后两个字,判断是否为 “天气” 关键字。

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

mb_substr — 获取字符串的部分

说明:根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。

参数:

str

从该 string 中提取子字符串。

start

str 中要使用的第一个字符的位置。

正数 -> 从字符串开头指定位置开始;

负数 -> 从字符串结尾指定位置开始;

length

str 中要使用的最大字符数。

正数 -> 从 start 处开始最多包括 length 个字符;

负数 -> string 末尾处的 length 个字符将会被漏掉(若 start 是负数则从字符串开头算起)。

encoding

encoding 参数为字符编码。如果省略,则使用内部字符编码。

返回值:

mb_substr() 函数根据 start 和 length 参数返回 str 中指定的部分。

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

微信公众平台开发(五) 天气预报功能开发(微信公众平台官网)

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

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

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

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

四、调用 weather() 函数查询

我们这里调用的是中国国家气象局提供的天气预报API接口,接口地址: 函数如下:

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

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

五、组织回复消息形式

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

若返回数据不为空,则:

说明:

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

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

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

$data->weatherinfo->weather1  //实时天气

$data->weatherinfo->temp1  //实时温度

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

$data->weatherinfo->index_d  //穿衣指数

weather2, temp2, wind2 分别代表了明天的天气,温度和风向风速,其他的以此类推。

n  //表示换行

六、测试

七、完整代码

关于城市对应关系文件 weather_cityId.php,目前更新到了个城市,以后还会继续增加,请到官方网盘

详解PHP用substr函数截取字符串中的某部分 经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做

thinkphp实现分页显示功能 先上效果图,突然发现和B站上一样IndexController.class.php代码如下publicfunctionindex(){$m=M('Info');$count=$m-where($where)-count();$pageCount=;//每页显示数量$page=newThinkPa

php 魔术常量详解及实例代码 php魔术常量详解实例:classMoShu{publicfunctionmoshu(){echo'当前类名:'.__CLASS__."br/";echo'当前方法名:'.__FUNCTION__."br/";echo'当前文件中所在的行数:'.__LINE__."br/";

标签: 微信公众平台官网

本文链接地址:https://www.jiuchutong.com/biancheng/301309.html 转载请保留说明!

上一篇:php die()与exit()的区别实例详解(php die exit)

下一篇:thinkPHP多域名情况下使用memcache方式共享session数据的实现方法(thinkphp跨域)

  • 教培行业提成一般多少
  • 预收账款可以开票吗
  • 报验户与正常户的区别
  • 简易征收的老项目是指什么时候
  • 专利在审可以入库吗
  • 税款追征期起算点 增值税重新计算
  • 无形资产报废会计科目
  • 银行按揭方式销售开发产品
  • 商业承兑汇票托收凭证怎么做分录
  • 借款可以转注资款吗
  • 因产品不合格退回报废会计处理
  • 普票丢失用第一联的复印件入账可以么
  • 企业车辆办理违章
  • 文化事业建设费的征收范围
  • 教育附加费和地方教育附加费的计算
  • 旅游地产房产税
  • 普通发票年份代码有什么具体含义?
  • 残障人士能享受的税收优惠
  • 生产企业销售原材料所取得的收入属于( )
  • 进口报关单是什么样子的
  • 税后利润是净利润还是利润总额
  • 残疾人保障金人数
  • 待抵扣进项税额转出会计分录
  • 电梯维修公司发展前景
  • 一般纳税人购买原材料会计分录
  • win11怎么下载手机应用
  • 报废资产未及时核销
  • 收到空头支票解释怎么写
  • 什么车不用交保险
  • 一般纳税人税金怎么算
  • 长期借款利息如何做账
  • 苹果电脑记笔记
  • php5.4+mysql
  • 蜡梅的养殖方法视频
  • 房产企业预售收入怎么做账务处理
  • 研发专利什么意思
  • 使用二氧化碳灭火器时人应该站在什么位置
  • php日期差数
  • 善意取得虚开增值税专用发票处理
  • YII Framework的filter过滤器用法分析
  • 总账会计工作职责精选汇总
  • 智慧工厂协同管控下载
  • opencv图像识别特定形状
  • dmesg | grep tty
  • 应交税费为负数在资产负债表里怎么填
  • 应收账款0
  • 折扣和佣金合法的两个条件是什么?
  • 为什么营业成本比营业收入大的时候没有计提减值准备呢
  • 总分机构纳税
  • 转账进公户
  • 主营业务收入账务处理分录
  • 折旧啥意思
  • 药品的增值税税率13%还是17%?
  • 销售人员的提成属于什么工资
  • 房产租赁发票
  • 发票服务内容写错怎么办
  • 财务分析与财务管理的共同点
  • 物流代收货款怎么收费
  • 行政单位收到的待报解预算收入怎么做账
  • 购买农副产品抵扣进项税的规定
  • 咋样理解
  • 企业哪些项目可以立项
  • 开了20万销项进项为0交多少税
  • 去年未开票收入未申报
  • 经营地址怎么变更
  • 预付账款怎么做账务处理
  • VMware虚拟机安装苹果Mac OS
  • windows8触摸屏手势设置
  • win10再出变故 微软撤下Windows Update中11月份更新
  • win10 20h2怎么装
  • 隐藏控制台窗口
  • win7系统自动弹出搜索框
  • android的开发
  • 单线程语言有哪些
  • cmd 远程登录
  • 网页设计需要多少分辨率
  • node.js mongodb
  • 安徽省国家税务总局电子税务局
  • 什么是城建税的纳税义务人
  • 如何申报印花税的流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设