Задать вопрос
turbinikarpus
@turbinikarpus

Нужно вставить div через каждые 4 блок, но почему вставляет по своему?

Есть 24 блока, по количеству они не измены.

$i = 0;
$all = count($result["rows"]);
$k = round($all / 6);

foreach ($result['rows'] as $row)
{	
	
	if($i == 0)
		{
			$all--;
			$k = (round($all / 6) > 0 ? round($all / 6) : 1);			
			echo '<div class="column large-12 list__delimiter"></div>';
		}

		$i++;

	if($i == $k)
	{			
		$i = 0;
	}	

echo '<div class="list"><img></div>';
}


Все нормально выводит только для трех первых строчек (по 4 блока и далее разделитель), а дальше начинается по 3 блока в строчке, заканчивая 2 блоками.

Почему такое происходит?
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 2
@Azperin
Дилетант
Я если честно не понял манипуляцю с $all, нужен ведь только счетчик
$i = 0;
foreach ($result['rows'] as $row) {	
	if ($i === 4) {
		echo '<div class="column large-12 list__delimiter"></div>';
		$i = 0;
	} else {
		$i++;
	};
  echo '<div class="list"><img></div>';
};
Ответ написан
proudmore
@proudmore
Для разбиения массива на части воспользуйтесь функцией array_chunk, и выводите поблочно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы