【发布时间】:2018-09-13 10:45:27
【问题描述】:
我有类别和子类别。我有这种类型的数组。
谁能帮助我如何循环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}
因为我不能通过将键应用于子数组来制作静态,因为它可以具有 n 级。嗯,这是我的 tpl 文件,所以我无法编辑我以这种数据格式带来的查询。
【问题讨论】:
-
试着做一个递归函数,如果
count($array['children']) > 0你更深,否则你去下一个数组?