> php教程 > PHP源码 > php中计算二维数组平均值/分组平均值实例

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

WBOY
풀어 주다: 2016-06-08 17:23:36
원래의
2567명이 탐색했습니다.

今天给大家转一个不错的数组平均值算法函数,这个主要是针对二维数据值的算法,各位有需要了朋友可参考。

<script>ec(2);</script>

计算数组平均值 二维数组平均值计算 分组计算平均值

 代码如下 复制代码

$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;
}

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿