2015-08-08 39 views
-4

编辑:现在这是我真正的问题。 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 [2] => 10 [3] => 7 )

+0

我有再次更新我的答案 –

0

所有你需要的是一个嵌套循环...

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

print_r($sumArray); 

这应该给你什么你lo为...而努力。

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 
)