2015-08-08 5 views
-4

EDIT: теперь это моя настоящая проблема. here - мой источник, но мой вопрос немного другой. если ключ массива тот же, то значение суммы. мой массив:Как суммировать значение массива в php

Array 
(
    [one] => Array 
     (
      [gozhi] => 2 
      [uzorong] => 1 
      [ngangla] => 4 
      [langthel] => 5 
     ) 

    [two] => Array 
     (
      [gozhi] => 5 
      [uzorong] => 0 
      [ngangla] => 3 
      [langthel] => 2 
     ) 

    [three] => Array 
     (
      [gozhi] => 3 
      [uzorong] => 0 
      [ngangla] => 1 
      [langthel] => 3 
     ) 
) 

в ссылке выше, желаемый результат

Array 
(
    [gozhi] => 10 
    [uzorong] => 1 
    [ngangla] => 8 
    [langthel] => 10 
) 

но мой желаемый результат

Array 
(
    [one] => 12 
    [two] => 10 
    [three] => 7 
) 

ответ

2

Попробуйте это ...

$sumArray = array(); 

foreach ($data as $key => $subArray) { 


    $sumArray[$key]=array_sum(array_values($subArray)); 
    } 


print_r($sumArray); 

Массив ( [один] => 12 [два] => 10 [три] => 7 )

+0

У меня есть обновить мой ответ еще раз –

0

Все, что вам нужно, это вложенная петля ...

$sumArray = array(); 
foreach ($outerArray as $innerArray) 
{ 
    $sum = 0; 
    foreach ($innerArray as $key => $value) 
    { 
     $sum += $value; 
    } 
    $sumArray[] = $sum; 
} 

print_r($sumArray); 

Это должно дать вам то, что вам нужно oking для.

3
<?php 

    $a = array(
      array 
      (
       'gozhi' => 2, 
       'uzorong' => 1, 
       'ngangla' => 4, 
       'langthel' => 5 
      ) 

     ,array 
      (
       'gozhi' => 5, 
       'uzorong' => 0, 
       'ngangla' => 3, 
       'langthel' => 2 
      ) 

     ,array 
      (
       'gozhi' => 3, 
       'uzorong' => 0, 
       'ngangla' => 1, 
       'langthel' => 3 
      ) 
    ); 

    $sum_arr = array(); 

    foreach($a as $b) 
    { 
     if(is_array($b)) 
     { 
      $sum = 0; 
      foreach($b as $key=>$value) 
      { 
       $sum += $value; 
      } 
      $sum_arr[] = $sum; 
     } 
    } 

    echo '<pre>'; 
    print_r($sum_arr); 
    echo '</pre>'; 
    ?> 
Output : 
Array 
(
    [0] => 12 
    [1] => 10 
    [2] => 7 
) 
Смежные вопросы