2012-04-10 237 views
1

我的應用程序與IDS和類別的數組是這樣的:創建一個從數組項另一個列表中的分組陣列

[apps] => Array 
      (
       [0] => stdClass Object 
        (
         [id] => 0 
         [categoryid] => 0 
        ) 

       [1] => stdClass Object 
        (
         [id] => 31265 
         [categoryid] => 12 
        ) 

       [2] => stdClass Object 
        (
         [id] => 15965 
         [categoryid] => 2 
        ) 

       [3] => stdClass Object 
        (
         [id] => 16554 
         [categoryid] => 12 
        ) 
) 

我試圖獲得基於該請求類別中的所有應用程序。所以,結果輸出爲:

For CategoryId 12: 
---------------- 
[apps] => Array 
      (
       [0] => 31265 
       [1] => 16554 
      ) 

For CategoryId 2: 
---------------- 
[apps] => Array 
      (
       [0] => 15965 
      ) 

For CategoryId 0: 
---------------- 
[apps] => Array 
      (
       [0] => 0 
      ) 

我相信我需要使用嵌套的foreach循環,但是有沒有一種有效的方法?

感謝

回答

3

,你可以通過他們循環,並將其放置在類別陣列:

foreach ($apps as $app) { 
    $catArray[ $app[CategoryID] ][] = $app; 
} 

這將導致一個數組,其鍵表示一個類別,其嵌套數組表示這些應用該類別。

我已經工作了這個網上的演示在:http://codepad.org/WZXIvQ58

+0

是啊..剛開始寫這一點。 – 2012-04-10 21:28:19

相關問題