您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2024/2/25 11:01:07发布24次查看
今天给大家转一个不错的数组平均值算法函数,这个主要是针对二维数据值的算法,各位有需要了朋友可参考。
计算数组平均值 二维数组平均值计算 分组计算平均值
 代码如下 复制代码
$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;
}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product