<?php /** * Сгруппировать подразедлы в верхние разделы меню * Дочерние элементы поместить в массив родителя с ключом submenu * Значение под ключом depth определяет уровень раздела * Массив $aMenu всегда начинается с элемента depth = 0, все последующие элементы с depth = 1 являются его дочерними * элементами * @param array $aMenu * @return array */ function prepareMenu(array $aMenu): array { $returnableAMenu = []; foreach ($aMenu as $menuPoint){ $depth = $menuPoint["depth"]; if ($depth === 1){ $tempArray = array_pop($returnableAMenu); $tempArray['submenu'][] = $menuPoint; $returnableAMenu[] = $tempArray; } else{ $returnableAMenu[] = $menuPoint; } } return $returnableAMenu; }