PHP-Foreach循环,每行限制3项

PHP-Foreach循环,每行限制3项,php,Php,我正在从Exact检索我的项目,并使用PHP循环显示它们。但是,我想在每3个项目后面放置一个HTML标记(br) 有可能这样做吗?我当前的代码: <?php $glas = getGLAccounts($search); $count = 0 foreach($glas as $gla) { $count++; echo "<tr><td><a href='glaccountedit.php?glacc

我正在从Exact检索我的项目,并使用PHP循环显示它们。但是,我想在每3个项目后面放置一个HTML标记(br)

有可能这样做吗?我当前的代码:

<?php
    $glas = getGLAccounts($search);
    $count = 0

    foreach($glas as $gla) {
        $count++;
        echo "<tr><td><a href='glaccountedit.php?glaccount=".$gla['ID']."'>".$gla['Code']." </a></td><td>&nbsp;&nbsp;&nbsp;".$gla['Description']."</td></tr>";

        if ($count == 3) {
            echo "</br>";
        }
    }
?>


然而,这是行不通的。我做错了什么?

它不工作,因为你的计数没有重置。如果
count==3
,它将执行

,但在此之后,计数再次增加。因此,
count
将是4、5、6、7等,并且对于
count==3,将不再是
true

<?php
$glas = getGLAccounts($search);
$count = 0

foreach($glas as $gla) {
    $count++;
    echo "<tr><td><a href='glaccountedit.php?glaccount=".$gla['ID']."'>".$gla['Code']." </a></td><td>&nbsp;&nbsp;&nbsp;".$gla['Description']."</td></tr>";
    if ($count == 3) {
        $count = 0;
        echo "</br>";
    }
}
?>

您的代码将只放置一次

。 如果您需要在每三项之后放置,则需要重置变量:

if ($count == 3) {
    $count = 0;
    echo "</br>";
}
if($count==3){
$count=0;
回声“
”; }
或改变条件:

if ($count%3 === 0) {
    echo "</br>";
}
if($count%3==0){
回声“
”; }
如果($count%3==0)
使用模运算符。如果不重置计数器,则需要重置计数器才能重新开始。在
if($count==3){
add
$count=0
。但我认为@nicovank解决方案要好得多。