2024-10-23 08:16:24
是无限极分类吗。如果是的话,这里有我自己练习做的无限极分类,可以参考下。
$array=array(
array('id'=>1,'pid'=>0,'name'=>'北京'),
array('id'=>2,'pid'=>1,'name'=>'丰台'),
array('id'=>3,'pid'=>0,'name'=>'浙江'),
array('id'=>4,'pid'=>3,'name'=>'台州'),
array('id'=>5,'pid'=>2,'name'=>'石榴庄'),
array('id'=>6,'pid'=>5,'name'=>'东街二区'),
array('id'=>7,'pid'=>4,'name'=>'临海')
);
//数组,pid, 等级.递归方法找子孙树
function getTreeArray($arr,$pid,$lev=0){
//$tree=array();
static $tree=array();
foreach ($arr as $key => $value) {
if($value['pid']==$pid){
$value['lev']=$lev;
$tree[]=$value;
//$tree=array_merge($tree,getTreeArray($arr,$value['id'],++$lev));
getTreeArray($arr,$value['id'],$lev+1);
}
}
return $tree;
}
/*
北京
--丰台
----石榴庄
------东街二区
浙江
--台州
----临海
*/
$tree = getTreeArray($array,0);
var_dump($tree);
foreach ($tree as $key => $value) {
echo str_repeat('--', $value['lev']),$value['name'],'<br/>';
}
只要把‘--’ 换成HTML代码就可以实现