如何在嵌套集中转换php分层数组?

时间:2016-02-25 09:39:48

标签: php nested-sets

我有一个分层数组。

Array
(
    [0] => Array
        (
            [id] => 28
        )

    [1] => Array
        (
            [id] => 29
        )

    [2] => Array
        (
            [id] => 30
            [children] => Array
                (
                    [0] => Array
                        (
                            [id] => 31
                        )

                )

        )

)

我需要为嵌套集提供“左”,“右”和“深度”键。

我在这里发现了类似的问题: php convert array into a hierarchical nested set for database

但是这个分支的答案不能正常工作。

它没有关键«深度»并且“左”和“右”键的计算不正确。

预期结果:

Array
(
    [0] => Array
        (
            [id] => 27
            [lft] => 1
            [rgt] => 10
            [depth] => 0
        )

    [1] => Array
        (
            [id] => 28
            [lft] => 2
            [rgt] => 3
            [depth] => 1
        )

    [2] => Array
        (
            [id] => 29
            [lft] => 4
            [rgt] => 5
            [depth] => 1
        )

    [3] => Array
        (
            [id] => 30
            [lft] => 6
            [rgt] => 9
            [depth] => 1
        )

    [4] => Array
        (
            [id] => 31
            [lft] => 7
            [rgt] => 8
            [depth] => 2
        )
)

[id] => 27 - :这是一个根节点,但我没有向用户显示它。

请帮我解决这个问题。

0 个答案:

没有答案