0

私はこのように構築されたアレイを持っています

配列
((
    [6]=>配列
        ((
            [id] => 6
            [parent_id] =>
            [テキスト]=>トップレベルのコメント
            [レベル]=>1
        )。

    [1]=>配列
        ((
            [id] => 1
            [parent_id] =>
            [テキスト]=>トップレベルのコメント
            [レベル]=>1
            [子供]=>配列
                ((
                    [2]=>配列
                        ((
                            [id] => 2
                            [parent_id] => 1
                            [テキスト]=>#1への応答
                        )。

                    [3]=>配列
                        ((
                            [id] => 3
                            [parent_id] => 1
                            [テキスト]=>#1への応答
                            [子供]=>配列
                                ((
                                    [4]=>配列
                                        ((
                                            [id] => 4
                                            [parent_id] => 3
                                            [テキスト]=>#3への応答
                                        )。

                                )。

                        )。

                    [10]=>配列
                        ((
                            [id] => 10
                            [parent_id] => 1
                            [テキスト]=>#2への応答
                            [子供]=>配列
                                ((
                                    [11]=>配列
                                        ((
                                            [id] => 11
                                            [parent_id] => 10
                                            [テキスト]=>#10への応答
                                            [子供]=>配列
                                                ((
                                                    [13]=>配列
                                                        ((
                                                            [id] => 13
                                                            [parent_id] => 11
                                                            [テキスト]=>#11への応答
                                                            [子供]=>配列
                                                                ((
                                                                    [14]=>配列
                                                                        ((
                                                                            [id] => 14
                                                                            [parent_id] => 13
                                                                            [テキスト]=>#13への応答
                                                                        )。

                                                                )。

                                                        )。

                                                )。

                                        )。

                                    [12]=>配列
                                        ((
                                            [id] => 12
                                            [parent_id] => 10
                                            [テキスト]=>#10への応答
                                        )。

                                )。

                        )。

                )。

        )。

    [5]=>配列
        ((
            [id] => 5
            [parent_id] =>
            [テキスト]=>トップレベルのコメント
            [レベル]=>1
        )。

    [9]=>配列
        ((
            [id] => 9
            [parent_id] =>
            [テキスト]=>トップレベルのコメント
            [レベル]=>1
        )。

)。

JSON

{"6":{"id":6、 "parent_id":null、 "text": "トップレベルのコメント"、 "level":1}、 "1":{"id":1、 "parent_id": null、 "text": "トップレベルのコメント"、 "level":1、 "children":{"2":{"id":2、 "parent_id":1、 "text": "#1"への応答}、 "3":{"id":3、 "parent_id":1、 "text": "Response to#1"、 "children":{"4":{"id":4、 "parent_id": 3、 "text": "Response to#3"}}}、 "10":{"id":10、 "parent_id":1、 "text": "Response to#2"、 "children":{" 11 ":{" id ":11、" parent_id ":10、" text ":" Response to#10 "、" children ":{"13 ":{" id ":13、" parent_id ":11、" text ":" Response to#11 "、" children ":{" 14 ":{" id ":14、" parent_id ":13、" text ":" Response to#13 "}}}}}、" 12 ":{" id ":12、" parent_id ":10、" text ":" Response to#10 "}}}}}、" 5 ":{" id ":5、" parent_id ":null、" text ":"トップレベルのコメント "、" level ":1"、 "9":{"id":9、 "parent_id":null、 " text ":"トップレベルのコメント "、" level ":1}}parent_id ":10、" text ":" Response to#10 "}}}}}、" 5 ":{" id ":5、" parent_id ":null、" text ":"トップレベルのコメント "、" level ":1}、" 9 ":{" id ":9、" parent_id ":null、" text ":"トップレベルのコメント "、" level ":1}}parent_id ":10、" text ":" Response to#10 "}}}}}、" 5 ":{" id ":5、" parent_id ":null、" text ":"トップレベルのコメント "、" level ":1}、" 9 ":{" id ":9、" parent_id ":null、" text ":"トップレベルのコメント "、" level ":1}}

それをエコーアウトしてスタイルを設定する最も簡単な方法は何ですか?redditのように言ってください。ビューファイルでスタイリングを行いたいのですが。

4

1 に答える 1

0

http://ellislab.com/codeigniter/user-guide/helpers/html_helper.html#ol_and_ulで試すこともできますが、配列をループして HTML を生成するカスタム関数を使用したいと思います。

編集:

function draw_comments($comments, $level = 0)
{
    echo  '<ul class="level' . $level . '">';
    foreach($comments as $comment)
    {
        draw_comment($comment);

        if(!empty($comment['children']))
            draw_comments($comment['children'], $level+1);
    }
    echo '</ul>';
}

function draw_comment($comment)
{
    echo '<li>';
    echo $comment['text'];
    echo '</li>';
}

draw_comments($comments_array);
于 2013-03-02T11:51:23.383 に答える