Если у вас есть какой-то счетчик в цикле, вы можете использовать модуль для этого.
Это в основном то, что осталось от числа, если вы разделите его.
Пример:
for($i = 1; $i < 11; $i++) {
if ($i % 2 === 0) {
print('this is printed every two times');
}
if ($i % 3 === 0) {
print('this is printed every three times');
}
}
Если вы используете foreach()
вместо вас, вы просто должны сделать счетчик самостоятельно (как сказал Линк, вы также можете использовать key
массива, если он содержит хорошие инкрементные ключи):
$i = 1;
foreach($array as $item) {
if ($i % 2 === 0) {
print('this is printed every two times');
}
if ($i % 3 === 0) {
print('this is printed every three times');
}
$i++;
}
Или в вашем конкретном случае это будет выглядеть примерно так:
print('<tr>');
$i = 1;
foreach($array as $item) {
if ($i % 3 === 0) {
print("</tr>\n<tr>");
}
print("<td>$item</td>\n");
$i++;
}
print('</tr>');
Выше приведен лишь базовый пример.
Вы также должны проверить, сбалансировано ли количество столбцов, и если нетдобавьте colspan или пустые столбцы, чтобы сбалансировать его.