【发布时间】:2020-11-02 19:50:40
【问题描述】:
我有一个非常复杂的数组需要循环。
Array(
[1] => Array(
[1] => ""
[2] => Array(
[1] => ""
[2] => Array(
[1] => ""
)
)
)
)
我不能使用嵌套循环,因为这个数组可能包含数百个嵌套数组。此外,嵌套的也可以包含嵌套数组。
此数组表示 cmets 和回复,其中回复可以包含更多回复。
有什么想法吗?
【问题讨论】:
-
如果你不知道嵌套的深度,那么你可能需要一个递归函数
-
写一个递归函数,或者等价的循环:从一个空栈(数组)开始,循环弹出顶部的项目并处理它,同时处理如果你找到任何子数组然后推送它们放到堆栈上。重复直到堆栈为空。
-
取决于您需要对数据做什么以及是否需要知道它在数组中的位置。你能举一个具体的例子来说明你所追求的结果吗?