2013-12-08 23 views
0

這是我的multidim。數組:在多維數組中計數值並將結果保存爲新陣列

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [1] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [2] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [3] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [4] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [5] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [6] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [7] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [8] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [9] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [10] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [11] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [12] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [13] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [14] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [15] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [16] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [17] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [18] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [19] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [20] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [21] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [22] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [23] => Array 
     (
      [id] => 1 
      [language] => English 
     ) 

    [24] => Array 
     (
      [id] => 2 
      [language] => Italian 
     ) 

    [25] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [26] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [27] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [28] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [29] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [30] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [31] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [32] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [33] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [34] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [35] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

    [36] => Array 
     (
      [id] => 1 
      [language] => German 
     ) 

) 

我知道如何通過數組循環,以及如何計算值,但這個時候,我還需要檢查[ID]是否與多國語言的陣列,它有工作的完全動態不同的查詢。

新的陣列應是這樣的:

Array ( 
    [1] => Array(
     "English" => 24, 
     "German" => 12 
    ), 
    [2] => Array(
     "Italian" => 1 
    ) 
) 
+0

因此,「*是在一個多種語言的數組* *」你的意思是「*是一個數組的長度大於一個*」? – Popnoodles

+0

幾乎不適合使用pastebin。把所有必要的東西回答你的問題*在你的問題*。 – meagar

+1

你能告訴你如何計算它們嗎? – Popnoodles

回答

0
$sorted_array = array("English" => 0, "German" => 0); 
foreach($old_array as $a) { 
    if(isset($a['language']) && strlen($a['language']) >= 1) { 
     switch($a['language']) { 

     case 'English' : 
      $sorted_array['English']++; 
     break; 
     case 'German' : 
      $sorted_array['German']++; 
     break; 

     } 
    } 
} 

只是爲了讓你去......如果你是真正聰明的你可以使用array_keys自動填充您的sorted_array()爲您...(谷歌它)