От автора: во многих проектах при работе с иерархическими структурами я использую реализацию Adjacency List и некоторый набор функций для построения иерархического массива. Одна из таких функций – это функция от Tommy Lacroix, которая довольно давно была найдена на просторах интернета. Это функция с условным названием getTree.
Задача данной функции заключается в том, чтобы получить из плоского массива массив иерархический, то есть массив в виде дерева, в котором бы соблюдалась иерархия родитель-потомок. Данная функция состоит всего из нескольких строк кода, в которых заключена некая магия преобразования массива, и эта магия многим непонятна. В этом уроке вы найдете подробное объяснение работы данной функции.