我有一个看起来像这样的表:
|--ID--|--folder_id--|parent_folder_id|--group_id--|
|--01--|------1------|------null------|-parent-----|
|--02--|------2------|-------1--------|-group_id_1-|
|--03--|------3------|-------2--------|-group_id_2-|
|--04--|------4------|-------2--------|-group_id_3-|
|--05--|------5------|-------4--------|-group_id_4-|
我需要将其转换为文件夹结构,其中带有parent_id!= null的每个文件夹行显示在folder_id = parent_id的文件夹下方。我需要以理智的方式做到这一点,并且不知道如何解决这个问题。在创建之后,我将添加与行的group_id对应的项目。
最终,我需要将SQL表转换为如下所示的数组:
$folders["parent"] = array["folder_id_2"] (
array["folder_id_3"](file 1, file2);
array["folder_id_4"](
array["folder_id_5"](file 3, file 4),
file 5
);
file 6
);
答案 0 :(得分:0)
我可能无法创建您想要的阵列。但是,尝试替代解决方案呢?使用树形结构。这就是我要做的事情:
class Folder
和$parent
属性的$files
。 $parent
用于引用父Folder
个对象,$files
将是文件数组。Folder
个对象。Folder
个对象'$parent
属性设置为引用父Folder
个对象。通过这种方式,我们可以以树的形式获得文件夹结构。