今天给大家转一个不错的数组平均值算法函数,这个主要是针对二维数据值的算法,各位有需要了朋友可参考。 ec(2); 计算数组平均值 二维数组平均值计算 分组计算平均值 代码如下 复制代码 $array = array( array('class' => 'a', 'value' => 3), array('class' => 'a', 'value' => 4), array('class' => 'b', 'value' => 5), array('class' => 'b', 'value' => 6) ) 这样的数组可分别以 class键值分组计算平均值 也可以单独计算总的平均值,用法如下 代码如下 复制代码 array_avg($array, 'class');//返回二维数组 array_avg($array);//返回一维数组 // 计算平均值 返回一维数组 // 参数$avgby 按照指定字段算平均值 返回二维数组 private function array_avg($array, $avgby = NULL) { $array_avg = array (); $number = count ( $array ); foreach ( $array as $key => $value ) { if ($avgby) { $avg_key = $value[$avgby]; $array_avg[$avg_key]['count'] ++; foreach ( $value as $k => $v ) { $array_avg[$avg_key][$k] += $v; } } else { foreach ( $value as $k => $v ) { $array_avg[$k] += $v; } } } $array = array (); foreach ( $array_avg as $key => $value ) { if ($avgby) { foreach ( $value as $k => $v ) { $array[$key][$k] = $v / $value['count']; } } else { $array[$key] = $value / $number; } } return $array; }