2013-05-26 90 views
0

我试图同时保持关键的名字,所以我可以 打印出的值的列表...如何总结键的值内阵列和打印值

这是总结的主要内的值的列表数组我有:

Array ( 
    [Israel] => Array ([0] => 3823 [1] => 1358 [2] => 496 [3] => 198 [4] => 134 [5] => 129 [6] => 107 [7] => 93 [8] => 91 [9] => 70 [10] => 60 [11] => 59 [12] => 54 [13] => 50 [15] => 35 [16] => 33 [17] => 33 [18] => 31 [19] => 28 [20] => 28 [24] => 19 [25] => 19 [27] => 18 [28] => 18 [29] => 15 [30] => 15 [31] => 14 [32] => 13 [33] => 13 [36] => 11 [37] => 10 [38] => 10 [39] => 10 [42] => 9 [45] => 7 [46] => 7 [51] => 6 [71] => 4 [72] => 4 [73] => 4) 
    [Palestine] => Array ([14] => 48) 
    [Venezuela] => Array ([21] => 21 [50] => 7 [64] => 5 [95] => 3) 
    [(not set)] => Array ([22] => 20) 
    [United Kingdom] => Array ([23] => 20) 
    [United States] => Array ([26] => 19 [35] => 12 [40] => 10 [43] => 8 [47] => 7 [48] => 7 [49] => 7 [53] => 6 [54] => 6 [55] => 6 [56] => 6 [63] => 5 [76] => 4 [77] => 4 [90] => 3 [91] => 3 [92] => 3 [93] => 3 [94] => 3) 
    [Ecuador] => Array ([34] => 12 [44] => 7 [83] => 3) 
    [Australia] => Array ([41] => 9 [57] => 5 [97] => 2) 
    [Peru] => Array ([52] => 6) 
    [China] => Array ([58] => 5) 
    [El Salvador] => Array ([59] => 5) 
    [Germany] => Array ([60] => 5 [69] => 4 [85] => 3 [86] => 3) 
    [Paraguay] => Array ([61] => 5) 
    [Poland] => Array ([62] => 5) 
    [Armenia] => Array ([65] => 4) 
    [Bolivia] => Array ([66] => 4 [80] => 3 [81] => 3 [82] => 3) 
    [Canada] => Array ([67] => 4) 
    [France] => Array ([68] => 4) 
    [Guatemala] => Array ([70] => 4) 
    [Nicaragua] => Array ([74] => 4) 
    [Spain] => Array ([75] => 4 [89] => 3) 
    [Uruguay] => Array ([78] => 4) 
    [Argentina] => Array ([79] => 3) 
    [Egypt] => Array ([84] => 3) 
    [Italy] => Array ([87] => 3) 
    [Nepal] => Array ([88] => 3) 
    [Algeria] => Array ([96] => 2) 
    [Belarus] => Array ([98] => 2) 
    [Bulgaria] => Array ([99] => 2) 
) 

我要寻找的结果是similer这样:

isael:3400 Palesti NE:48 委内瑞拉:36

我尝试使用this但doesent西装,我不知道如何把它转换

ETC ...

+0

您可以发布适当的阵列.. – sAnS

回答

1

如何:

foreach ($myArray as $k=>$subArray) { 
    $sumArray[$k] = 0; 
    foreach ($subArray as $id=>$value) { 
     $sumArray[$k]+=$value; 
    } 
} 

因为$ k表示你的国家,你将它的子数组的所有值相加,并将它存储在一个映射中,该映射有一个存储在$ k中的名称的键。

+0

:)那么简单,但我不能让我的大脑环绕它!非常感谢你的配偶。有用! –

+0

很高兴我可以帮忙;) – Madsen

2

使用array_sum()

$output = array(); 
foreach ($array as $k => $a) { 
    $output[$k] = array_sum($a); 
} 
+0

感谢您的帮助......那个答案的工作如此.. +1努力;) –