@advancesss

Как вывести foreach arResult в случайном порядке Битрикс?

Здравствуйте, данный код выводит список элементов с ограничением количества 5-шт. Но элементы выводятся в строгой последовательности (насколько пониманию, сортировка по дате - первый -> последний - по моему это сортировка по умолчанию). Подскажите, как вывести список элементов в случайном порядке?

<?$counter = 0;?>
	<?foreach($arResult["ITEMS"] as $arItem):?>
	
	 <?if($counter >= 5){break;}?>
	<h1><?=$arItem["NAME"]?></h1>
	 <?$counter++?>
	<?endforeach;?>
  • Вопрос задан
  • 822 просмотра
Пригласить эксперта
Ответы на вопрос 3
Другой вариант - сразу случайно выбрать 5 элементов из БД и выводить в цикле подряд. Для обычного компонента в битрикс что-то вроде:
'SORT_BY1' => 'RAND',
'SORT_ORDER1' => 'RAND',
'NEWS_COUNT' => 5,
Ответ написан
Eridani
@Eridani
Мимо проходил
Ответ написан
Комментировать
@aby125
Как я понял, надо в самом foreach в случайном порядке вывести? Дело в том, что можно выборку из базы данных сделать в случайном порядке. Но если надо в самом foreach, то попробуйте так:
<?$counter = 0;
$ar_keys = range(0, count($arResult["ITEMS"])-1);
shuffle($ar_keys);?>
<?foreach($ar_keys as $key):?>

  <?if($counter >= 5){break;}?>
  <h1><?=$arResult["ITEMS"][$key]["NAME"]?></h1>
  <?$counter++?>
<?endforeach;?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы