function tree(array $items)
{
$ids = [];
foreach ($items as $item)
{
if ($item['id'] == $item['pid']) continue; //如果父 ID 等于自己,避免死循环,跳过
$ids[] = $item['id'];
$items[ ($item['pid']) ][ 'children' ][ ($item['id']) ] = &$items[ ($item['id']) ];
}
$result = Arr::except($items, $ids);
return count($result) === 1 ? Arr::get(array_pop($result), 'children', []) : $result;
}
$items = [
['id' => 0, 'name' => 'none', 'pid' => 0],
['id' => 1, 'name' => 'test', 'pid' => 0],
['id' => 2, 'name' => 'test1', 'pid' => 1],
['id' => 3, 'name' => 'test2', 'pid' => 1],
];
tree($items);
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.