public function getSubTree($data , $id = 0 , $lev = 0) {
$son = array();
$stack = array();
$stack_tmp = array(); //存下层节点的id们
$tree= array();
$stack[] = $id;
while(!empty($data)){
foreach ($stack as $k1 => $v1){
foreach ($data as $key =>$value){
if($value['pid'] == $v1){
$value['level'] = $lev;
$son[] = $value;
unset($data[$key]);
array_push($stack_tmp , $value['id']);
$tree[$lev][] = $value;
}
}
}
$stack = array();
$stack = $stack_tmp;
$stack_tmp = array();
$lev+=1;
}
$num = count($tree)-1;
for($i=$num;$i>0;$i--){
$j = $i -1;
foreach ($tree[$j] as $k1=>&$v1){
foreach ($tree[$i] as $k2=>&$v2){
if($v2['pid'] == $v1['id']){
$v1['child'][] = $v2;
unset($tree[$i][$k2]);
}
}
}
unset($tree[$i]);
}
return $tree;
}
php 数组处理成无限极分类的方法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 第一步、创建数据库 数据表创建直接复制到mysql管理器里直接运行即可。 DROP TABLE IF EXISTS...