PHP做后台数据报表设计简单的统计函数

作者:admin 发布时间:2020-02-20 14:04:07 浏览:994次
相信我们在开发的过程中,最重要的点之一就是——代码的复用性,可读性。 本文主要讲的一个小点就是我们大家在后台开发中,通常会遇到一些数据的统计,多个报表的统计。 那么主要的思路就是把统计的代码块给独立出来,方便我们多个后端程序员在做不同表统计时,用到统一的统计代码设计思路,这样就不会乱了。 PHP做后台数据报表设计简单的统计函数 如果我们要在sql语句里面循环去统计汇总会增加数据库的负荷,所以我们换个方式,在查询出来的数据集之后,运用数组函数来统计 //以下为统计的方法代码啦,统一以 二维数组为例子 /** * 此方法用来统计汇总 * @param $list 数据数组 //二维数组 * */ public function sum(array $list){ foreach ($list as $key => $value){ foreach ($value as $key => $vo){ //这里最主要是数组函数 array_sum 和 array_map 的配合使用 对于这两个函数不了解同学的需要去复习一下噢! $Array['sum'][$key] = array_sum(array_map(function($val) use($key) {return $val[$key];}, $list)); } } return $Array; } 我们调用它,要统计的数组为我们遍历出来的$list,比如是会员信息,我们需要把所有会员的一些付费数据给统计起来汇总。 Array ( [0] => Array ( [id] => 1 [name] => 小明 [mobile] => 13000000000 [price] => 0.02 [pay_num] => 2 [weixin_account] => 0.00 [left_cion] => 0 [acion] => 0 [give_coins] => 101 [use_integral] => 0 [give_integral] => 9724 [zengbi] => 0 [yubi] => 2 [integral] => 9724 [giftmachine] => 0 [money] => 0.02 [if_member] => 1 ) [1] => Array ( [id] => 2 [name] => CC [mobile] => 13000000000 [price] => 0.00 [pay_num] => 0 [weixin_account] => 0.00 [left_cion] => 0 [acion] => 0 [give_coins] => 100 [use_integral] => 0 [give_integral] => 7100 [zengbi] => 0 [yubi] => 0 [integral] => 7100 [giftmachine] => 0 [money] => 0.00 [if_member] => 1 ) ) //统计 $sum_data = $this->sum($list); //得到 Array( [sum] => Arra( [id] => 15 [name] => 0 [mobile] => 61148026906 [price] => 0.02 [pay_num] => 2 [weixin_account] => 0.14 [left_cion] => 0 [acion] => 0 [give_coins] => 401 [use_integral] => 0 [give_integral] => 19924 [zengbi] => 0 [yubi] => 2 [integral] => 19924 [giftmachine] => 0 [money] => 0.02 [if_member] => 4 ) ) 我们可以得到所有会员数据,每一项的综合,当然,示例并没有 把id,name等的不必要统计的数据给筛选掉,在实际的开发中,我们可以把数据集中,需要统计的数据组合成一个新的二维数组,再去统计这个新的数据数组。 其实最主要是想给刚入门PHP的朋友们表达一种思路,数据数组统计处理和sql语句优化,避免去循环sql语句统计,影响数据库的性能。 再者,统计是后台 报表中较为常见,且复用性极高的一个功能代码,所以我们的设计模式,一开始就要把这种类型的代码给独立出来,提高开发安全和代码准确性,统一性。

如需转载请保留本文出处: https://zhe94.com/588.html

上一篇:快速建站之前言:如何建立一个自己的网站
下一篇:MySQL的乐观锁,悲观锁与MVCC之间有什么关系