Ну, как-то так:
[CODE]$arIDs = array(3, 15, 22); // ваш массив айдишников в нужном порядке
$arResult['ITEMS'] = array_flip($arIDs);
$res = CIBlockElement::GetList(
false,
array(
'ID' => $arIDs,
),
false,
false,
array('ID', 'NAME', 'DETAIL_PAGE_URL')
);
while ($arItem = $res->GetNext())
$arResult['ITEMS'][$arItem['ID']] = $arItem;
foreach ($arResult['ITEMS'] as $key => $value)
if (!is_array($value))
unset($arResult['ITEMS'][$key]);
[/CODE]