Добрый день. Есть следующий код работы с API Bitrix:
$rsElement = CIBlockElement::GetList(array(), array("IBLOCK_ID" => array(4,2)), false, false, array());
while($arElement = $rsElement->Fetch())
{
$elems[] = $arElement;
}
print_r($elems);
Который обращается сразу к нескольким инфоблокам "IBLOCK_ID" => array(4,2) и выводит все элементы с этих инфоблоков подряд списком в ассоциативном массиве.
Структура массива следующая:
array(
[0] => array(
... (тут все поля элемента)
[IBLOCK_NAME] = НАЗВАНИЕ_ИНФОБЛОКА_1
)
[1] => array(
... (тут все поля элемента)
[IBLOCK_NAME] = НАЗВАНИЕ_ИНФОБЛОКА_2
)
... (и так далее)
)
Как разделить этот весь массив, чтобы по обращению $МАССИВ["НАЗВАНИЕ_ИНФОБЛОКА"] можно было получить все элементы этого инфоблока? Чтобы стала структура массива следующая:
array(
[НАЗВАНИЕ_ИНФОБЛОКА_1] => array(
[0] => array(
... (тут все поля элемента)
[IBLOCK_NAME] = НАЗВАНИЕ_ИНФОБЛОКА_1
),
[1] => array(
... (тут все поля элемента)
[IBLOCK_NAME] = НАЗВАНИЕ_ИНФОБЛОКА_1
),
...
),
[НАЗВАНИЕ_ИНФОБЛОКА_2] => array(
[0] => array(
... (тут все поля элемента)
[IBLOCK_NAME] = НАЗВАНИЕ_ИНФОБЛОКА_2
),
[1] => array(
... (тут все поля элемента)
[IBLOCK_NAME] = НАЗВАНИЕ_ИНФОБЛОКА_2
),
...
)
)
[0],[1] - это соответственно разные элементы инфоблока
Задача заключается в том, чтобы разбить огромный массив со всеми элементами из разных инфоблоков на так называемые разделы, то бишь, как я уже говорил, чтобы можно было обращаться к $МАССИВ["НАЗВАНИЕ_ИНФОБЛОКА"] и получать список всех элементов этого инфоблока