每3个循环后PHP循环新的tr

时间:2018-01-31 14:38:12

标签: php

我有一个带PHP循环的表。我希望它在每3个循环后创建一个新行。我有以下代码。但是,似乎无法正常工作。在第4个循环之后创建第一个新行,之后每个循环都可以正常工作。而且它似乎在最后创造了一个空白。我有什么想法可以让它发挥作用吗?

<table cellpadding="20">
<tr>
    <?php
    $counter=0;
    foreach ($links as $key){

        echo '<td align="center">'.$links[$key].'</td>';
        echo "\n";

        if ($counter % 3 == 0 && $counter !== 0) {
            echo '</tr><tr>';
        }      

        $counter++;

    }
    ?>
</tr>
</table>

3 个答案:

答案 0 :(得分:1)

你可以尝试

foreach(array_chunk($links, 3) as $linkGroup) { ?>
   <tr>
       <?php
           foreach($linkGroup as $link) { ?>
              <td><?= $link['key'] ?></td>           
     <?php }
       ?>
   </tr>
<?php }

答案 1 :(得分:0)

AssemblyInfo.cs之前移动$counter++;或在if之前设置$counter=1;

答案 2 :(得分:-1)

尝试这样做:

<?php
$counter=0;
foreach ($links as $key){

    echo '<td align="center">'.$links[$key].'</td>';
    echo "\n";

    }      
    if ($counter >= 3){
        echo '</tr><tr>';   
        $counter=0;     
    }
    $counter++;
}
?>