我使用嵌套集创建树,如下所示:
user1
...user2
...user3
......user4
......user5
...user6
user7
...user8
DataBase表示意图:
------------------------------------------
|usr_id |usr_name | usr_left | usr_right |
------------------------------------------
我有数组的用户ID,但我必须保持树的结构,如果我得到任何用户和他的父母,例如
如果我想获得user1,user2和user7,我希望结果为:
user1
...user2
user7
如果我想获得user3和user6,例如user8结果应为
user3
user6
user7
因为用户7和用户3或6没有相同的父母
但如果我想用user1和user4(级别0和级别2)获取树,我想获得
user1
...[empty_indent-block]
......user4
所以我必须保留不在数组中的跳过用户的结构。
我想从我的阵列中获取所有用户并将其分组为 usr_left && usr_right 但我不知道如何以简单的方式做到这一点
答案 0 :(得分:0)
所以我的用户数组表示它们的结构,数组看起来像:
array {
[0] => array{
'id' => ID_OF_USER,
'name' => NAME_OF_USER,
'left' => LEFT_INDEX,
'right'=> RIGHT_INDEX
}
.
.
.
}
我必须创建这个数组的树,所以如果元素的id是beetwen其他元素的左右两边 - element2 那么元素是element2的子元素
接下来我必须将我的树转换为具有缩进级别的一维数组