【发布时间】:2014-12-29 13:25:56
【问题描述】:
假设我有以下 PHP 多维数组,它被设计为通过递归:
$arr = array(
array(
'id' => 1,
'kids' => array(
array(
'id' => 11,
'kids' => array(
array(
'id' => 101,
'kids' => array(),
),
),
), // please note this is a sample
), // it could have any number of levels
),
);
如果给定 ID 值为 101,我如何才能确定 ID 1 和 11 是多维数组中该元素的父元素?
【问题讨论】:
-
任何树搜索算法都应该工作。对于 PHP 实现,例如 stoimen.com/blog/2012/09/17/…
-
每@M.Page 评论。这里有一些关于这个想法的阅读。 en.wikipedia.org/wiki/Tree_traversal 例如,您可以使用您要查找的 ID 的基本情况进行深度优先搜索。然后,您可以在返回时传递父 ID 的备份。
-
我还建议对您的数组设置进行更改:将键设置为 id 值,然后将它们用于横向。让我看看我是否可以让快速示例工作。
标签: php arrays recursion multidimensional-array