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

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

 代码如下 复制代码

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

时间: 2024-11-13 08:53:21

php中计算二维数组平均值/分组平均值实例的相关文章

Python中的二维数组的操作方法

这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下 需要在程序中使用二维数组,网上找到一种这样的用法: ? 1 2 3 4 5 6 #创建一个宽度为3,高度为4的数组 #[[0,0,0], # [0,0,0], # [0,0,0], # [0,0,0]] myList = [[0] * 3] * 4 但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,变成 ? 1 2 3 4 5 6 7 [[0,1,0],   [0

Lua中使用二维数组实例

  这篇文章主要介绍了Lua中使用二维数组实例,本文直接给出代码实例,看代码更容易理解,需要的朋友可以参考下 在Lua中跟JS也是一样,没有二维数组的概念,但是二维数组对我们的开发又是极其的重要,当然,使用很多啦.谈谈在Lua中如何使用二维数组? 原理,一维数组里面给一个嵌套就是二维数组了,好,就那么简单,看看代码更容易理解 最近在做一个项目,如下是部分代码 ? 1 2 3 4 5 6 7 8 for i=1,10 do self.startMartix[i]={} self.star[i]={

java matlab 二维数组-java调用matlab中调用二维数组问题

问题描述 java调用matlab中调用二维数组问题 我是用的以下matlab函数 function [Theta, Phi, R] = infofusion(a1, b1, a1, b2, a3, b3): 其中a1,b1,a2,b2,a3,b3都是4*3的二维数组,并且每个数组里面都是常量,都是数,请问各位大神,如何在java调用matlab的基础上实现二维数组的调用,跪求了

struct-对结构体中的二维数组赋值为何会影响下一排

问题描述 对结构体中的二维数组赋值为何会影响下一排 #include "stdio.h" struct qipan { char point[20][80]; bool isClear; }; qipan board; int main() { for(int i=0;i<=19;i++) for(int j=0;j<=79;j++) board.point[i][j]=' '; board.point[1][1] = board.point[1][2]=board.poi

link中除了二维数组,还有什么情况下可以在数组后面再跟上数组?

问题描述 link中除了二维数组,还有什么情况下可以在数组后面再跟上数组? link中除了二维数组,还有什么情况下可以在数组后面再跟上数组? 解决方案 只要支持索引器的都可以,比如说 List<int[]> List<int>[] List<List<int>> int[][]

二维数组 引用-Java中的二维数组的引用问题

问题描述 Java中的二维数组的引用问题 代码: public static void main(String args[]){ double[][] a={{1,2,3},{4,5,6},{7,8,9}}; System.out.println(a+" "+a[0]); } 结果: [[D@15db9742 [D@6d06d69c 疑惑:二维数组名a的引用和a[0]的引用有什么不同? 解决方案 您好,a是一个二维数组,a的引用就是整个二维数据对象,a[0]则是二维数组中的第一个对象{

java-Java中的二维数组创建

问题描述 Java中的二维数组创建 在ava程序中创建二维数组时,在第一个中括号里是写行的数字还是写列的数字?比如5行8列,在下面赋值号的右边靠近int的中括号里是填5还是填8?谢谢高手! int[][] zhuming = new int[][] 解决方案 五行八列就是new int[5][8]的. 解决方案二: 第一个数代表一维数组有几个元素,第二个数代表有几个数组.这么理解很容易想. 解决方案三: 第一个方框表示行数,第二个方框表示列数,因此就是new int[5][8]表示5行8列. 解

Java中的二维数组

Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空间 或者 如: 2. 赋值 二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始 也可以在声明数组的同时为其赋值 如: 3. 处理数组 二维数组的访问和输出同一维数组一样,只是多了一个下标而已.在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素.如:  

C#中读取二维数组每位的长度

C#中的二维数组,如int[,] A=new int[a,b];则 a=A.GetLength(0);即可获得二维数组中第一维的长度. b=A.GetLength(1);即可获得二维数组中第二维的长度.