使用父项下的子项对PHP数组进行排序

时间:2015-01-07 16:59:53

标签: php

在这个例子中,我有一个元素数组。

$array = ["Element A", "Element B", "Element C", "Element D", "Element E"]

在进行数据库调用之后(我已经想出这部分......),确定“B”和“D”是元素E的子元素。另外,“A”是“C”的子元素。

出于演示目的,parent($a)将返回"c"parent($e)将返回NULL

如何重新排序数组,以便所有子元素都直接位于其父元素下面?

正确的解决方案是这样的,儿童直接在父母之后:

["E", "B", "D", "C", "A"]
["E", "D", "B", "C", "A"]
["C", "A", "E", "B", "D"]
["C", "A", "E", "D", "B"]

1 个答案:

答案 0 :(得分:1)

以下一般结构可概述如何订购您的问题。

if(CHILD) {
    if(PARENT EXISTS) {
        DELETE THIS ELEMENT
        INSERT AT LOCATION
    } else {
        DELETE THIS ELEMENT
        ADD PARENT
        RE-ADD THIS ELEMENT
    }
}

没有细节,只是一个大纲......