我认为PHP中没有内置函数可以做到这一点。
我尝试了以下代码,似乎可以按照您描述的方式准备嵌套数组:
$nodes = array();$tree = array();foreach ($source as &$node) { $node["Children"] = array(); $id = $node["Menu"]["id"]; $parent_id = $node["Menu"]["parent_id"]; $nodes[$id] =& $node; if (array_key_exists($parent_id, $nodes)) { $nodes[$parent_id]["Children"][] =& $node; } else { $tree[] =& $node; }}var_dump($tree);我在为演示文稿SQL和PHP中的层次模型编写的PHP类中编写了类似的算法,但是我使用的是对象而不是普通数组。



