-3
for ($count = 1; $count < 20; $count++) {
        if ($count == 1 || $count % 4 == 0) {
            ?> <tr> <?php 
        }
        if (true) {
            ?> <td><?php echo $count; ?></td> <?php
        }
        if (($count + 1) % 4 == 0){
            ?> </tr> <?php
        }

这段代码运行良好,但唯一的问题是它在前 2 行成功打印后没有以良好的顺序打印新行,它超过了一行,m 卡住了,需要逻辑使其正确。谢谢

4

2 回答 2

2

遍历行,然后遍历列:

$counts = range(1, 19);
foreach (array_chunk($counts, 4) as $rowCounts)
{
    echo '<tr>';
    foreach ($rowCounts as $count) 
    {
        printf("<td>%d</td>", $count);
    }
    echo '</tr>'; 
}
于 2012-07-14T11:55:37.853 回答
0

就个人而言,我为非常简单的表格所做的事情是:

function Tr ($text) {
    echo "<tr><td>$text</td></tr>";
}

然后你可以像这样循环:

for ($count = 1; $count < 20; $count++) {
    Tr ($count);
}

此外,我建议您不要像那样不断地切换进出,但我认为这只是风格问题。

于 2012-07-14T11:53:10.910 回答