計算數組平均值,二維數組平均值計算,分組計算平均值,代碼如下:
- $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;
- }
新聞熱點
疑難解答