回复讨论(解决方案) http://bbs.csdn.net/topics/370094009
$brr=array();foreach($arr as $k=>$v){ if( empty($v['pid']) ) if( isset($brr[$v['id']]) ) { $brr[$v['id']][]=$v['id']; $brr[$v['id']][]=$v['pid']; }else $brr[$v['id']]=$v; else{ if(!isset($brr[$v['pid']])) $brr[$v['pid']]=array(); $brr[$v['pid']]['str'][]=$v; }}sort($brr);
http://bbs.csdn.net/topics/370094009
版主这个得到的结果是这样的,如果把建为4的去掉就好了啊,因为建为4的已经放到208里面了,就不需要了
array( [1] => array ( [id] => 1 [pid] => ) [4] => array ( [id] => 4 [pid] => 208 ) [208] => array ( [id] => 208 [pid] => [child] => array ( [4] => array ( [id] => 4 [pid] => 208 ) ) ))
$brr=array();foreach($arr as $k=>$v){ if( empty($v['pid']) ) { if( !isset($brr[$v['id']]) ) $brr[$v['id']]=$v; }else{ if(!isset($brr[$v['pid']])) $brr[$v['pid']]=array(); $brr[$v['pid']]['str'][]=$v; }}sort($brr);
