Нужно переписать код на рекурсивную функцию, желательно и объяснить как это работает.
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
if (!empty($arResult)) {
foreach($arResult as $arItem) {
switch($arItem['DEPTH_LEVEL']) {
case 1:
$key_1++;
$arResult_new[$key_1]=$arItem;
break;
case 2:
$key_2++;
$arResult_new[$key_1]['CHILDRENS'][$key_2]=$arItem;
break;
case 3:
$key_3++;
$arResult_new[$key_1]['CHILDRENS'][$key_2]['CHILDRENS'][$key_3]=$arItem;
break;
case 4:
$key_4++;
$arResult_new[$key_1]['CHILDRENS'][$key_2]['CHILDRENS'][$key_3]['CHILDRENS'][$key_4]=$arItem;
break;
}
}
$arResult=$arResult_new;
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники