Не опрашивать. Используйте события и другие примитивы ОС для ожидания подлежащих регистрации случаев. Опрос гарантирует, что ЦП будет оставаться активен и использовать больше ресурса аккумулятора.
$i=0;
foreach ($x as $key=>$value)
{
if (fmod($i,2)) echo '<tr>';
echo '<td>',$value,'</td>';
if (fmod($i,2)) echo '</tr>';
$i++;
}
это будет выводить TR (строку) каждый второй раз
ps: я не тестировал код, поэтому, возможно, вам нужно будет добавить! знак перед fmod, если он не выводит TR на первой итерации, но на второй итерации в начале ...
Вы можете использовать array_chunk ()
, чтобы разбить массив данных на меньшие массивы, в данном случае длины 2 для каждой строки.
<table>
<?php foreach (array_chunk($values, 2) as $row) { ?>
<tr>
<?php foreach ($row as $value) { ?>
<td><?php echo htmlentities($value); ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>
Обратите внимание, что если у вас нечетное количество значений, в последней строке останется только одна ячейка. Если вы хотите при необходимости добавить пустую ячейку, вы можете проверить длину $ row
во внешнем foreach
.