2013-03-08 5 views
2

Мне нужно суммировать итоговые значения для 'in' и 'ou', [a] - [t] Массив.PHP: суммировать различные значения многомерного массива

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 
      ) 
    ) 
) 

Ниже приведено, как я вычисляю итоговые значения в '+' ou '. Однако я, кажется, застрял в колею, когда речь заходит об отдельных итогах 'in' a, b, c, d, e, f, t и 'ou' a, b, c, d, e, f , т.

//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 
) 

ответ

2

Это поможет вам начать:

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

Мне нужно каждый общий вес (а => всего, Ь => всего, .. .) и ou (a => total, b => total, ...) –

Смежные вопросы