【发布时间】:2019-03-19 17:53:53
【问题描述】:
我有一个用于构建导航菜单的多维数组。它可以由任意数量的子菜单(或子菜单)组成。菜单工作得很好。当有人点击菜单链接时,会打开 ID 为“menuid”的产品类别。但是,我还需要知道当前 menuid 的所有孩子的 menuid(但不是孙子等等)。
这是数组的一个例子:
Array
(
[0] => Array
(
[menutype] => url
[menuid] => 46
)
[1] => Array
(
[menutype] => product_category
[menuid] => 55
[children] => Array
(
[0] => Array
(
[menutype] => product_category
[menuid] => 69
[children] => Array
(
[0] => Array
(
[menutype] => product_category
[menuid] => 211
)
[1] => Array
(
[menutype] => product_category
[menuid] => 57
)
[2] => Array
(
[menutype] => product_category
[menuid] => 166
)
)
)
[1] => Array
(
[menutype] => product_category
[menuid] => 57
)
[2] => Array
(
[menutype] => product_category
[menuid] => 94
)
)
)
[2] => Array
(
[menutype] => posts_category
[menuid] => 45
)
)
例如,我想知道如何为 menuid 为 69 的元素获取 children 中元素的 menuid 值。(应该返回一个 211 的数组, 57 和 166)。
【问题讨论】:
-
你有什么代码可以让菜单正常工作
-
最简单的方法是构建一个递归函数基本上是一个你将传入一个数组的函数,然后如果有一个子数组你'将从函数内部调用函数。网上有很多例子。
-
AbraCadaver 菜单的代码过于广泛,无法在此处发布,尤其是因为它不相关。 :) 我帖子里的数组已经编辑过了,原来数组的每个元素都有很多数据(除了menutype、menuid和children)。
标签: php arrays multidimensional-array associative-array