php提取微信账单的有效信息


Posted in PHP onOctober 01, 2018

最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,微信账单接口返回为一个字符串类似如下结果:

程序需要实现的功能就是从这个字符串从提取每一笔订单中的有效信息,参考代码如下:

function deal_wechat_return_result($reponse)
 {
 $result = array();
 $reponse = str_replace(","," ",$reponse);
 $reponse = explode("`",$reponse);
 $total_order_count =( count($reponse) - 6 ) / 24;
 for($i = 0; $i< $total_order_count; $i++)
 {
  $base_index = 24 * $i;
  $result[$reponse[$base_index + 7]] = array(
  'wechat_order_no' => $reponse[$base_index + 6],
  'order_count' => $reponse[$base_index + 13],
  'order_discount' => $reponse[$base_index + 23]
  );
 }
 return $result;
 }

主要的思路是微信账单返回的结果格式是固定的,可以用 '`' 实现字符串的分割,然后每 24 个 字段为一个订单的描述信息,最后 6 个字段为账单的汇总信息。因此通过 for 循环就可以遍历整个账单,代码里面只取了我需要的字段,如果还需要其它的字段可按照此格式自行加入即可。

代码还有以下几点有待完善:

1. 没有考虑字符串特别大的情况,可能会导致 php 进程分配的内存耗尽,对于普通的商户订单,每天成交量不是特别大的情形是够用的。

2. 默认了微信返回的格式是固化的,其实可以根据微信返回的字符串头和尾进行动态的匹配。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
实用函数4
Nov 08 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
destoon供应信息title调用出公司名称的方法
Aug 22 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
php中JSON的使用与转换
Jan 14 PHP
php提交表单发送邮件的方法
Mar 20 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
php实现统计目录文件大小的函数
Dec 25 PHP
PHP使用curl函数发送Post请求的注意事项
Nov 26 PHP
YII分模块加载路由的实现方法
Oct 01 #PHP
php实现微信公众号企业转账功能
Oct 01 #PHP
详解json在php中的应用
Sep 30 #PHP
php实现数组重复数字统计实例
Sep 30 #PHP
PHP APP微信提现接口代码
Sep 30 #PHP
PHP实现微信提现功能
Sep 30 #PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 #PHP
You might like
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php数组去重复数据示例
2014/02/25 PHP
php验证码实现代码(3种)
2015/09/07 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
如何防止回车(enter)键提交表单
2014/05/11 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
python中urlparse模块介绍与使用示例
2017/11/19 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
用Python读取几十万行文本数据
2018/12/24 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
鼓励运动员的广播稿
2014/02/08 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
党员作风建设整改方案
2014/10/27 职场文书
网络营销实训总结
2015/08/03 职场文书
优质服务标语口号
2015/12/26 职场文书
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL