您的位置:首页 > 其它

无限级分类的非递归算法

2016-07-05 15:59 423 查看
/*
无限级分类的非递归算法
$item 数组
事例数据
array (size=75)
0 =>
array (size=4)
'id' => int 1
'name' => string '* [1 业务aa协议]' (length=20)
'pid' => int 0
'caseID' => null
1 =>
array (size=4)
'id' => int 2
'name' => string '* [1.1 协议格式]' (length=20)
'pid' => int 1
'caseID' => null
2 =>
array (size=4)
'id' => int 3
'name' => string '* [1.1.1 协议说明]' (length=22)
'pid' => int 2
'caseID' => null
3 =>
array (size=4)
'id' => int 4
'name' => string '* [1.1.2 输入参数]' (length=22)
'pid' => int 2
'caseID' => null
.........
数组的主键值是与ID有关系的
*/
function generateTree($items){
$tree = array();
var_dump($items);
foreach($items as $item){
if(isset($items[$item['pid']-1]))
$items[$item['pid']]['son'][] = &$items[$item['id']];
else
$tree[] = &$items[$item['id']];
}
return $tree;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: