Например у нас есть множественные свойства у инфоблока. Надо вывести много элементов с этими свойствами. Получать эти свойства в цикле, конечно же, не вариант. А получать таким образом — вариант:
Получаем сами элементы:
$req = CIBlockElement::GetList(
[],
[
"IBLOCK_ID" => 3,
"ACTIVE" => "Y"
],
false,
false,
[
"ID",
"IBLOCK_ID",
"NAME"
]
);
$items = [];
while($res = $req->Fetch()){
$items[] = $res;
}
Получаем эти свойства:
$arPropItems = array_flip(array_column($items, 'ID'));
CIBlockElement::GetPropertyValuesArray(
$arPropItems,
3,
['ID' => array_keys($arPropItems)],
['CODE' => ['PROP_NAME_1', 'PROP_NAME_2']]
);
Свойства будут находиться в переменной $arPropItems