<?php
$area = array(
array('id'=>1,'name'=>'河北','parent'=>0),
array('id'=>2,'name'=>'海淀','parent'=>7),
array('id'=>3,'name'=>'定州市','parent'=>5),
array('id'=>4,'name'=>'昌平','parent'=>7),
array('id'=>5,'name'=>'保定','parent'=>1),
array('id'=>6,'name'=>'朝阳','parent'=>7),
array('id'=>7,'name'=>'北京','parent'=>0),
array('id'=>8,'name'=>'上地','parent'=>2)
);
function familyclass2($arr,$id) {
$tree = array();
foreach($arr as $v) {
if($v['id']==$id) {
$tree[] = $v;
if($v['parent']>0) {
$tree = array_merge($tree,familyclass2($arr,$v['parent']));
}
}
}//foreach end
return $tree;
}
print_r(familyclass2($area,8));
?>
$area = array(
array('id'=>1,'name'=>'河北','parent'=>0),
array('id'=>2,'name'=>'海淀','parent'=>7),
array('id'=>3,'name'=>'定州市','parent'=>5),
array('id'=>4,'name'=>'昌平','parent'=>7),
array('id'=>5,'name'=>'保定','parent'=>1),
array('id'=>6,'name'=>'朝阳','parent'=>7),
array('id'=>7,'name'=>'北京','parent'=>0),
array('id'=>8,'name'=>'上地','parent'=>2)
);
function familyclass2($arr,$id) {
$tree = array();
foreach($arr as $v) {
if($v['id']==$id) {
$tree[] = $v;
if($v['parent']>0) {
$tree = array_merge($tree,familyclass2($arr,$v['parent']));
}
}
}//foreach end
return $tree;
}
print_r(familyclass2($area,8));
?>