I've been searching for a good way to form a tree. I think this one is ideal. Can you make it better?
private function buildTree($data)
{
$tree = [];
$references = [];
foreach ($data as $id => &$node) {
$references[$node['id']] = &$node;
$node['children'] = [];
if (is_null($node['parent_id'])) {
$tree[] = &$node;
} else {
$references[$node['parent_id']]['children'][] = &$node;
}
}
return $tree;
}
Чтобы увидеть комментарии, нужно быть участником сообщества
Регистрация