当前位置:首页 > PHP教程 > php数组 > 列表

php中计算二维数组平均值/分组平均值实例

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-17 10:56:56 浏览: 评论:0 

计算数组平均值,二维数组平均值计算,分组计算平均值,代码如下:

  1. $array = array(  
  2.     array('class' => 'a''value' => 3),  
  3.     array('class' => 'a''value' => 4),  
  4.     array('class' => 'b''value' => 5),  
  5.     array('class' => 'b''value' => 6)  

这样的数组可分别以 class键值分组计算平均值,也可以单独计算总的平均值,用法如下:

  1. array_avg($array'class');//返回二维数组  
  2. array_avg($array);//返回一维数组 
  3. // 计算平均值    返回一维数组  
  4. // 参数$avgby 按照指定字段算平均值  返回二维数组  
  5. private function array_avg($array$avgby = NULL) {  
  6.     $array_avg = array ();  
  7.     $number = count ( $array );  
  8.     foreach ( $array as $key => $value ) {  
  9.         if ($avgby) {  
  10.             $avg_key = $value[$avgby];  
  11.             $array_avg[$avg_key]['count'] ++;  
  12.             foreach ( $value as $k => $v ) {  
  13.                 $array_avg[$avg_key][$k] += $v;  
  14.             }  
  15.         } else {  
  16.             foreach ( $value as $k => $v ) {  
  17.                 $array_avg[$k] += $v;  
  18.             }  
  19.         }  
  20.     }  
  21.     $array = array ();  
  22.     foreach ( $array_avg as $key => $value ) {  
  23.         if ($avgby) {  
  24.             foreach ( $value as $k => $v ) {  
  25.                 $array[$key][$k] = $v / $value['count'];  
  26.             }  
  27.         } else {  
  28.             $array[$key] = $value / $number;  
  29.         }  
  30.     }  
  31.     return $array;  

Tags: 平均值 数组 实例

分享到: