2012-04-10 243 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

相关问题