我有一系列带有ID和类别的应用程序:
[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循环,但是有一种有效的方法吗?
由于
答案 0 :(得分:3)
您可以循环浏览它们,并将它们放入类别数组中:
foreach ( $apps as $app ) {
$catArray[ $app[CategoryID] ][] = $app;
}
这应该会产生一个数组,其键表示一个类别,其嵌套数组代表该类别中的那些应用程序。
我已经在线编写了这个演示:http://codepad.org/WZXIvQ58