Доброго времени суток друзья. Я столкнулся с проблемой, которую не хватает мозгов решить.
Суть вопроса. Получаю список категорий с максимальной вложенностью 3.
use Bitrix\Iblock\Model\Section;
$sections = Section::compileEntityByIblock(1)::getList([
'select' => ['ID' , 'NAME' , 'PICTURE' , 'DEPTH_LEVEL' , 'CODE' , 'UF_LINKS'],
'filter' => ["IBLOCK_ID" => 1, "ACTIVE" => "Y", "GLOBAL_ACTIVE" => "Y"],
])->fetchAll();
В результате имею массив вида
Массивarray (size=187)
0 =>
array (size=6)
'ID' => string '3' (length=1)
'NAME' => string 'Категория 1' (length=18)
'PICTURE' => string '955' (length=3)
'DEPTH_LEVEL' => string '1' (length=1)
1 =>
array (size=6)
'ID' => string '6' (length=1)
'NAME' => string 'Категория 1-1' (length=41)
'PICTURE' => string '945' (length=3)
'DEPTH_LEVEL' => string '2' (length=1)
2 =>
array (size=6)
'ID' => string '7' (length=1)
'NAME' => string 'Категория 1-2' (length=43)
'PICTURE' => string '946' (length=3)
'DEPTH_LEVEL' => string '2' (length=1)
3 =>
array (size=6)
'ID' => string '8' (length=1)
'NAME' => string 'Категория 2' (length=45)
'PICTURE' => string '956' (length=3)
'DEPTH_LEVEL' => string '1' (length=1)
4 =>
array (size=6)
'ID' => string '9' (length=1)
'NAME' => string 'Категория 2-1' (length=41)
'PICTURE' => string '957' (length=3)
'DEPTH_LEVEL' => string '2' (length=1)
'UF_LINKS' => boolean false
5 =>
array (size=6)
'ID' => string '10' (length=2)
'NAME' => string 'Категория 2-1-1' (length=57)
'PICTURE' => string '958' (length=3)
'DEPTH_LEVEL' => string '3' (length=1)
'UF_LINKS' => boolean false
6 =>
array (size=6)
'ID' => string '11' (length=2)
'NAME' => string 'Категория 2-1-2' (length=56)
'PICTURE' => string '959' (length=3)
'DEPTH_LEVEL' => string '3' (length=1)
И теперь ума не приложу как такой массив вывести в виде списка или сложить массив по другому чтобы просто проверять есть дочерние и если есть то форечем пробежаться.
Буду благодарен за помощ