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

 
                                
 
            