-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 つの行が正常に印刷された後、新しい行が適切な順序で印刷されないことです。行をもう 1 つ超えています。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 に答える