Случайная выборка в getList
Чтобы организовать случайную выборку элементов инфоблока необходимо задать индекс сортировки RAND
$arSort = Array("RAND"=>"ASC");
Это справедливо как для выборки элементов, так и для выборки секций инфоблока.
Пример случайной выборки элементов инфоблока из определенной секции:
$arFilter = Array("IBLOCK_ID"=>$arResult["SECTION_ID"],
"ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y",
"SECTION_ID"=>$arResult["SECTION"]["ID"]);
$arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM", "SECTION_CODE");
$arSort = Array("RAND"=>"ASC");
$dbGet = CIBlockElement::GetList($arSort, $arFilter, false, Array("nTopCount"=>4),$arSelect);
while($arElem = $dbGet->Fetch()){
$result[] = $arElem;
}