2010-09-22 116 views
2

我有一個MySQL查詢該吐出來的是以下數組:需要幫助的分組PHP數組

Array 
(
    [0] => stdClass Object 
     (
      [item1] => foo 0 
      [item2] => bar 0 
      [catid] => 3 
     ) 

    [1] => stdClass Object 
     (
      [item1] => foo 1 
      [item2] => bar 1 
      [catid] => 7 
     ) 

    [2] => stdClass Object 
     (
      [item1] => foo 2 
      [item2] => bar 2 
      [catid] => 10 
     ) 

    [3] => stdClass Object 
     (
      [item1] => foo 3 
      [item2] => bar 3 
      [catid] => 7 
     ) 

) 

我想知道是否有可能按「類別」的陣列,所以不是重複catids,會有一個catid,每個對象都在裏面..如果這有道理的話?所以說catid 7只會出現一次,裏面有兩個item1/item2。

回答

5

這個怎麼樣?

foreach($results as $result) { 
    $by_category[$result->catid][] = $result; 
} 

print_r($by_category); 
+0

感謝那個,但我怎麼把適當的類別裏面的物品?我仍然有重複的類別:) – SoulieBaby 2010-09-22 03:36:24

+0

你將需要詳細說明你想如何組合他們。 – Amber 2010-09-22 05:40:21

0
$ret = array(); 
foreach ($array as $value) { 
    foreach ($value as $key => $item) { 
     if ($key == 'catid') continue; 
     $ret[$value['catid']][] = $item; 
    } 
}