//以下为统计的方法代码啦,统一以 二维数组为例子
/**
* 此方法用来统计汇总
* @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