в коде по предоставленной тобой ссылке, самый тонкий момент это :
$map[$category['parent']]['subcategories'][] = &$category;
на самом деле это тоже самое (короткий синтаксис), что
array_push(
$map[$category['parent']]['subcategories'],
&$category
);
$category['parent'] - это id категории. Допустим это
0.
То есть в массив
$map[0]['subcategories'][0] будет добавлена ссылка на
$categories[0]. Если попадется еще категория с таким же
[parent],
То ссылка на нее будет записана в
$map[0]['subcategories'][1].
Ну а так, как в строке,
$map[$category['id']] = &$category;
говорится что категория в карте (
$map), ссылается на категорию в списке(
$categories). То они устанавливаются по ссылкам рекурсивно.
интерпритатор смотрит в subcategory - там ссылки, он смотрит в subcategory ссылок - там снова ссылки, и так, пока вложенность не достигнет конца.