@Senseich

Как правильно записать цикл foreach, если первый элемент лежит в своём блоке?

Помогите разобраться с циклом foreach. Мне нужно вывести новости, но первая новость отличается от других. Т.е. она лежит в своём блоке blog-item blog-item-big
А остальные новости лежат в другом блоке blog-list-sm
Как правильно цикл нужно записать, чтобы как на рисунке ниже ( новость 1 вывелась в своём диве, а остальные 2,3,4... в другом)
59f793170c335390190207.jpeg

Должно получиться вот так: prntscr.com/h42y8e

Вот данный код:
<div class="blog-list">
		<div class="blog-item blog-item-big">
			<div class="row justify-content-start">
				<div class="col-lg-6"></div>
				<div class="col-lg-6"></div>
			</div>
		</div>
			<div class="blog-list-sm">
				<div class="row justify-content-start">
					<div class="col-md-6 align-self-start"></div>
					<div class="col-md-6 align-self-start"></div>
					<div class="col-md-6 align-self-start"></div>
				</div>
			</div>
	</div>
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 2
Henryh
@Henryh
Веб-программист
Проше всего посчитать:
$i = 0;
foreach ($arr as $value) {
    if (++$i == 1){
        // первый элемент
    }else{
        // остальные
    }
}
Ответ написан
rpsv
@rpsv
делай либо хорошо, либо никак
1. Выцепить сначала первый, а потом дальше циклом бежать:
$first = current($arResult);
// обработка первого
next($arResult);

foreach ($arResult as $item) {
	// обработка остальных
}


2. Использовать флаг:
$isFirst = true;
foreach ($arResult as $item) {
	if ($isFirst) {
		$isFirst = false;
		// обработка первого
	}
	else {
		// обработка остальных
	}
}


3. Использовать счетчик как рекомендовал Генри
Ответ написан
Ваш ответ на вопрос

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

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