【问题标题】:build tree with a multidimensional array用多维数组构建树
【发布时间】:2014-05-27 15:32:46
【问题描述】:

如何用下面的多维数组制作树?

子项的 parentID

非零
Array
(
    [0] => Array
        (
            [id] => 6
            [title] => zzz
            [parentID] => 0
            [parentName] => 
            [section] => articles
            [sort] => 0
            [level] => 0
        )

    [1] => Array
        (
            [0] => Array
                (
                    [id] => 7
                    [title] => 7
                    [parentID] => 6
                    [parentName] => 
                    [section] => articles
                    [sort] => 0
                    [level] => 0
                )

            [1] => Array
                (
                    [0] => Array
                        (
                            [id] => 8
                            [title] => 8
                            [parentID] => 7
                            [parentName] => 
                            [section] => articles
                            [sort] => 0
                            [level] => 0
                        )

                )

        )

    [2] => Array
        (
            [id] => 1
            [title] => تست
            [parentID] => 0
            [parentName] => 
            [section] => articles
            [sort] => 0
            [level] => 0
        )

    [3] => Array
        (
            [0] => Array
                (
                    [id] => 4
                    [title] => 4
                    [parentID] => 1
                    [parentName] => 
                    [section] => articles
                    [sort] => 0
                    [level] => 0
                )

            [1] => Array
                (
                    [id] => 5
                    [title] => 5
                    [parentID] => 1
                    [parentName] => 
                    [section] => articles
                    [sort] => 0
                    [level] => 0
                )

        )

)

如果我想按 id 显示项目,我需要以下结果:

6
-7
--8
1
-4
-5

我的尝试:

foreach ($array as $category)
{
    $dash = str_repeat("-", array_depth($category));
    echo $dash . $category['id'];
}

【问题讨论】:

  • 能否请您将 php 数组本身而不是 var_dump 放在您的问题中?

标签: php arrays recursion multidimensional-array


【解决方案1】:

类似的东西

function render_node($node, $indent = '') {
    $indent .= '-';
    echo $indent . $node[0]['id'];
    for($i = 1; $i < array_length($node); $i++) {
        render_node($node[$i], "$indent-");
    }
 }

未经测试,但希望您能理解。可能会有一个错误和其他一些奇怪的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-06
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    相关资源
    最近更新 更多