<?php
$area = array(
array('id'=>1,'name'=>'安徽','parent'=>0),
array('id'=>2,'name'=>'北京','parent'=>0),
array('id'=>3,'name'=>'海淀','parent'=>2),
array('id'=>4,'name'=>'中关村','parent'=>3),
array('id'=>5,'name'=>'合肥','parent'=>1),
array('id'=>6,'name'=>'上地','parent'=>3),
array('id'=>7,'name'=>'河北','parent'=>0),
array('id'=>8,'name'=>'石家庄','parent'=>7),
);
function cityinfo($arr,$id,$len=1){
static $sub = array();
foreach($arr as $v) {
if($v['parent'] == $id) {
$v['len'] = $len;
$sub[] = $v;
cityinfo($arr,$v['id'],$len+1);
}
}
return $sub;
}
$tree = cityinfo($area,0,1);
foreach ($tree as $v) {
echo str_repeat(' ',$v['len']);
echo $v['name'];
echo '<br />';
}
?>