Вот несколько способов сделать это.
Сначала с помощью css, например, вы можете установить ширину 20% для каждого из них и поместить их в контейнер, используя display: flex следующим образом:
.container { display: flex; flex-wrap: wrap; }
.each { width: 20%; }
<div class="container">
<div class="each">1</div>
<div class="each">2</div>
<div class="each">3</div>
<div class="each">4</div>
<div class="each">5</div>
<div class="each">1</div>
<div class="each">2</div>
<div class="each">3</div>
<div class="each">4</div>
<div class="each">5</div>
<div class="each">1</div>
<div class="each">2</div>
<div class="each">3</div>
<div class="each">4</div>
<div class="each">5</div>
</div>
Второй способ, используя PHP, вы можете решить эту проблему с помощью оператора% modulo. Узнайте больше об этом здесь: https://www.php.net/manual/en/language.operators.arithmetic.php
например, перед циклом установите индекс, например, $ i = 0;а затем для каждой строки увеличьте его на $ ++;При этом вы можете в своем коде определить, является ли это первым из 5 с if ($i % 5 === 1)
, а для последней строки в 5 вы можете использовать if ($i % 5 === 0)
В этих операторах if вы можете разбить блокипереместитесь на новую строку или разбейте, как вам нужен любой контейнерный ряд div и т. д.
Однако я думаю, что способ css - это самый простой и лучший способ сделать это из представленных 2. Надеюсь, это поможет.