当前位置: 首页 / 网站建设 / 正文

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

发布时间:2020-02-20 14:04:07 作者:小超越君

相信我们在开发的过程中,最重要的点之一就是——代码的复用性,可读性。
本文主要讲的一个小点就是我们大家在后台开发中,通常会遇到一些数据的统计,多个报表的统计。
那么主要的思路就是把统计的代码块给独立出来,方便我们多个后端程序员在做不同表统计时,用到统一的统计代码设计思路,这样就不会乱了。

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

如果我们要在sql语句里面循环去统计汇总会增加数据库的负荷,所以我们换个方式,在查询出来的数据集之后,运用数组函数来统计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 //以下为统计的方法代码啦,统一以       二维数组为例子
 
 /**
 * 此方法用来统计汇总
 * @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,比如是会员信息,我们需要把所有会员的一些付费数据给统计起来汇总。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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://www.zhe94.com/588.html

小超越
热爱折腾,曾想着改变世界,如今只能向生活低头,寻找可口的牛奶和面包
添加站长微信作者头像
专注高品质湛江网站建设及湛江SEO优化服务 立即咨询