当前数组结构:
Array
(
[0] => Array
(
[TASK_ID] => 2
[PARENT_TASKID] => 0
[TASK_LEVEL] => 0
)
[1] => Array
(
[TASK_ID] => 1
[PARENT_TASKID] => 0
[TASK_LEVEL] => 0
)
[2] => Array
(
[TASK_ID] => 4
[PARENT_TASKID] => 1
[TASK_LEVEL] => 1
)
[3] => Array
(
[TASK_ID] => 5
[PARENT_TASKID] => 1
[TASK_LEVEL] => 1
)
[4] => Array
(
[TASK_ID] => 6
[PARENT_TASKID] => 5
[TASK_LEVEL] => 2
)
[5] => Array
(
[TASK_ID] => 9
[PARENT_TASKID] => 2
[TASK_LEVEL] => 1
)
[6] => Array
(
[TASK_ID] => 10
[PARENT_TASKID] => 2
[TASK_LEVEL] => 1
)
)
您可以观察到PARENT_TASKID
对儿童来说是TASK_ID
。例如:
Array
(
[TASK_ID] => 9
[PARENT_TASKID] => 2
)
在这里TASK_ID = 9
是TASK_ID = 2
的孩子.请注意PARENT_TASKID
。
Array (
[TASK_ID] => 2
[PARENT_TASKID] => 0
[TASK_LEVEL] => 0
)
如何更改上述数组格式,使子数组位于其父数组下,如下所示:
[0] => Array
(
[TASK_ID] => 2
[PARENT_TASKID] => 0
[TASK_LEVEL] => 0
)
[1] => Array
(
[TASK_ID] => 9
[PARENT_TASKID] => 2
[TASK_LEVEL] => 1
)
[2] => Array
(
[TASK_ID] => 10
[PARENT_TASKID] => 2
[TASK_LEVEL] => 1
)
我不知道将孩子完全放在父母之下,而是相应地更改数组顺序。
你想要
的称为拓扑排序。您可以在此处找到有关如何解决此问题的一些信息 http://en.wikipedia.org/wiki/Topological_sorting