$categories = array(
array('id'=>1,'name'=>'陕西','pid'=>0),
array('id'=>2,'name'=>'西安','pid'=>1),
array('id'=>3,'name'=>'长安区','pid'=>2),
array('id'=>4,'name'=>'河南','pid'=>0),
array('id'=>5,'name'=>'郑州','pid'=>4),
array('id'=>6,'name'=>'河北','pid'=>0),
array('id'=>7,'name'=>'石家庄','pid'=>6),
array('id'=>8,'name'=>'新华区','pid'=>7)
);
方法
function order ($array,$pid=0){
$arr = array();
foreach($array as $v){
if($v['pid']==$pid){
$arr[] = $v;
$arr = array_merge($arr,order($array,$v['id']));
}
}
return $arr;
}