一尘不染

在PHP中回显多维数组

php

我有一个多维数组,我试图找出如何简单地“回显”数组中的元素。数组的深度未知,因此可以深度嵌套。

对于下面的数组,正确的回显顺序为:

This is a parent comment
This is a child comment
This is the 2nd child comment
This is another parent comment

这是我正在谈论的数组:

Array
(
    [0] => Array
        (
            [comment_id] => 1
            [comment_content] => This is a parent comment
            [child] => Array
                (
                    [0] => Array
                        (
                            [comment_id] => 3
                            [comment_content] => This is a child comment
                            [child] => Array
                                (
                                    [0] => Array
                                        (
                                            [comment_id] => 4
                                            [comment_content] => This is the 2nd child comment
                                            [child] => Array
                                                (
                                                )
                                        )
                                )
                        )
                )
        )

    [1] => Array
        (
            [comment_id] => 2
            [comment_content] => This is another parent comment
            [child] => Array
                (
                )
        )
)

阅读 246

收藏
2020-05-29

共1个答案

一尘不染

看来您只是在尝试从每个数组中写入一个重要值。尝试像这样的递归函数:

function RecursiveWrite($array) {
    foreach ($array as $vals) {
        echo $vals['comment_content'] . "\n";
        RecursiveWrite($vals['child']);
    }
}

您还可以使其更具动态性,并将'comment_content''child'字符串作为参数传递到函数中(并继续在递归调用中传递它们)。

2020-05-29