PHP : Sum different values of multidimensional array

标签 php arrays multidimensional-array foreach sum

我需要对 [a] 到 [t] 的“in”和“ou”进行总计 数组。

Array
(
[1] => Array
    (
        [in] => Array
            (
                [a] => 3
                [b] => 0
                [c] => 0
                [d] => 0
                [e] => 0
                [f] => 0
                [o] => 0
                [t] => 3
            )

        [ou] => Array
            (
                [a] => 0
                [b] => 0
                [c] => 1
                [d] => 0
                [e] => 0
                [f] => 0
                [o] => 0
                [t] => 1
            )
    )
[2] => Array
    (
        [in] => Array
            (
                [a] => 0
                [b] => 0
                [c] => 0
                [d] => 0
                [e] => 0
                [f] => 0
                [o] => 0
                [t] => 0
            )

        [ou] => Array
            (
                [a] => 0
                [b] => 0
                [c] => 0
                [d] => 1
                [e] => 2
                [f] => 0
                [o] => 0
                [t] => 3
            )
    )
)

以下是我计算“in”+“ou”总数的方法。 然而,当涉及到 'in' a,b,c,d,e,f,t 和 'ou' a,b,c,d,e,f 的单独总计时,我似乎陷入了困境, t。

//get day total
foreach($arr as $array){
    foreach($array as $inou){
        foreach(array_keys($inou) as $value){
            if(isset($total[$value])){
                $total[$value] += $inou[$value];
            }else{
                $total[$value] = $inou[$value];
            }
        }
    }
}

输出应该类似于

in(
[a] => 3
[b] => 0
[c] => 0
...
[t] => 3
)
ou(
[a] => 0
[b] => 0
[c] => 1
[d] => 1
[e] => 2
[f] => 0
[t] => 4
)

最佳答案

这应该可以帮助您开始:

        $sumIN = 0; 
        $sumOU = 0;
        foreach($arr as $innerArr)
        {
            $sumIN += array_sum($innerArr['in']);
            $sumOU += array_sum($innerArr['ou']);
        }

关于PHP : Sum different values of multidimensional array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15304723/

相关文章:

python - 如何在每次 while 循环通过时创建一个新数组

java - 按字母顺序列出字符串数组

c - 打印下划线字符来代替整数 0

php - 如何在 slim 框架中将 http 响应状态添加到 rest api

javascript - 在 textarea 或 div 的数据库中插入/显示可点击链接

php - MySQL PDO 如何为 IN() 绑定(bind)参数

php - 是否可以在 PHP 中使用带有相对路径的curl?

Javascript过滤器检查多个值?

java - 除非外部循环的值非零,否则 3 个 for 循环的内部不会运行,但仅当在最内部循环内部进行减法时才会运行

matlab - 预先计算多维线性插值的权重