假设我在数组中有这个结构:
Array
(
[0] => Array
(
[0] => Heading1
[1] => Array
(
[0] => Array
(
[0] => 2
[1] => Heading2.1
)
[1] => Array
(
[0] => 2
[1] => Heading2.2
)
)
)
[1] => Array
(
[0] => Heading1.2
)
)
如何仅将函数应用于包含heading2.1和标题2.2的数组元素?
我想要应用的函数可以进一步嵌套数组。我怎样才能使我的函数也能在这些新创建的数组上运行?然后创建的数组,直到第二个最深层没有数组?
答案 0 :(得分:2)
递归循环,使用is_array()函数检查它是否为数组,如果是,请应用您的函数。
答案 1 :(得分:1)
天真的递归不会做,并且重新运行递归是双重否。您想在这里使用的是topological sorting。
在计算机科学中,拓扑排序(有时缩写为topsort或toposort)或有向图的拓扑排序是其顶点的线性排序,使得对于每个边 uv , u 在排序中位于 v 之前。
答案 2 :(得分:0)
如果内容是一个数组,你可以在你将在每个节点上执行的函数中使用array_walk()和test ...