PHP マルチレベル分類クエリ
http://www.oschina.net/question/167679_56466 同様の効果を達成する方法、さらに良い方法があります
----- -解決策- -------------------
$a = 配列( '0' => 配列('id' => 3,'sid' => 0)、 '1' => 配列('id' => 4,'sid' => 0)、 '2' => 配列('id' => 5,'sid' => 3)、 '3' => 配列('id' => 6,'sid' => 0)、 '4' => 配列('id' => 7,'sid' => 4)、 '5' => 配列('id' => 8,'sid' => 0)、 ); 関数 cmsort($ar, $sid=0, &$res=array()) { foreach($ar as $r) { if($r['sid'] == $sid) { $res[] = $r; cmsort($ar, $r['id'], $res); } } $res を返します。 } var_export(cmsort($a)); <div class="clear"></div>