如何遍历N级子子数组-PHP

时间:2018-09-13 10:45:27

标签: php smarty

我有类别和子类别。我有这种类型的数组。

谁能帮助我如何遍历n级。

Array
(
    [0] => Array
        (
            [question_title] => hello.
            [id] => 1
            [step] => 1
            [Children] => Array
                (
                )

        )

    [1] => Array
        (
            [question_title] => bye
            [id] => 2
            [step] => 1
            [Children] => Array
                (
                )

        )

    [2] => Array
        (
            [question_title] => gtg
            [id] => 3
            [step] => 1
            [Children] => Array
                (
                )

        )

    [3] => Array
        (
            [question_title] => cya
            [id] => 4
            [step] => 1
            [Children] => Array
                (
                )

        )

    [4] => Array
        (
            [question_title] => not sure
            [id] => 5
            [step] => 1
            [Children] => Array
                (
                )

        )

    [5] => Array
        (
            [question_title] => will see 
            [id] => 6
            [step] => 1
            [Children] => Array
                (
                )

        )

    [6] => Array
        (
            [question_title] =>idk
            [id] => 7
            [step] => 2
            [Children] => Array
                (
                )

        )

    [7] => Array
        (
            [question_title] => mayebthis 
            [id] => 8
            [step] => 2
            [Children] => Array
                (
                )

        )

    [8] => Array
        (
            [question_title] => maybe this one as well
            [id] => 9
            [step] => 2
            [Children] => Array
                (
                    [0] => Array
                        (
                            [question_title] => maybe this one too
                            [id] => 10
                            [step] => 2
                            [Children] => Array
                                (
                                )

                        )

                )

        )

    [9] => Array
        (
            [question_title] => and this
            [id] => 11
            [step] => 2
            [Children] => Array
                (
                    [0] => Array
                        (
                            [question_title] => or this
                            [id] => 12
                            [step] => 2
                            [Children] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [question_title] =>or here too
                            [id] => 13
                            [step] => 2
                            [Children] => Array
                                (
                                    [0] => Array
                                        (
                                            [question_title] => wait i am also here
                                            [id] => 14
                                            [step] => 2
                                            [Children] => Array
                                                (
                                                )

                                        )

                                    [1] => Array
                                        (
                                            [question_title] => me as well
                                            [id] => 15
                                            [step] => 2
                                            [Children] => Array
                                                (
                                                )

                                        )

                                    [2] => Array
                                        (
                                            [question_title] => me me scream 
                                            [id] => 16
                                            [step] => 2
                                            [Children] => Array
                                                (
                                                )

                                        )

                                )

                        )

                )

        )

    [10] => Array
        (
            [question_title] => outside here
            [id] => 17
            [step] => 2
            [Children] => Array
                (
                )

        )

    [11] => Array
        (
            [question_title] => outisde here too
            [id] => 18
            [step] => 2
            [Children] => Array
                (
                )

        )

)

我正在遍历主数组,但我不知道如何遍历子数组,因为也许还有许多子子数组。

{foreach $question_master_array as $key => $val}
          {if $question_master_array[$key]['step'] == 2}
            <li><input type="checkbox" name="step1_question_{$question_master_array[$key]['question_id']}">{$question_master_array[$key]['question_title']}</li>
            {if  $question_master_array[$key]['Children']|@count gt 0}
                ... some stuff here ...
            {/if} 
          {/if}
        {/foreach} 

因为我不能仅仅通过将键应用于Children数组来使其静态,因为它可以具有n级。好吧,这是我的tpl文件,因此我无法编辑以这种数据格式带来的查询。

0 个答案:

没有答案