表,TR每2个循环,PHP,HTML

Luc*_*cas 2 html loops row html-table

我有一个html表,我使用一些循环来获取一些数据,这个数据显示如下:

<tr><td>Data</td></tr>
... next loop
Run Code Online (Sandbox Code Playgroud)

但我不想每2或甚至3个循环关闭表行(tr).所以数据可能如下所示:

<tr>
<td>Data</td>
<td>Data1</td>
<td>Data2</td>
</tr>

...next loop...
Run Code Online (Sandbox Code Playgroud)

你能帮我这个吗?

Pee*_*Haa 7

如果你的循环中有一些计数器,你可以使用Modulus.

如果划分它,它基本上就是数字的剩余部分.

例:

for($i = 1; $i < 11; $i++) {
    if ($i % 2 === 0) {
        print('this is printed every two times');
    }
    if ($i % 3 === 0) {
        print('this is printed every three times');
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你使用a foreach()而不是你自己应该做一个计数器(如Link所说key,如果它包含很好的增量键,你也可以使用数组):

$i = 1;
foreach($array as $item) {
    if ($i % 2 === 0) {
        print('this is printed every two times');
    }
    if ($i % 3 === 0) {
        print('this is printed every three times');
    }
    $i++;
}
Run Code Online (Sandbox Code Playgroud)

或者在您的具体情况下,它看起来像:

print('<tr>');
$i = 1;
foreach($array as $item) {
    if ($i % 3 === 0) {
        print("</tr>\n<tr>");
    }
    print("<td>$item</td>\n");
    $i++;
}
print('</tr>');
Run Code Online (Sandbox Code Playgroud)

以上只是一个基本的例子.

您还应检查列数是否平衡,如果不是,则添加colspan或空列以平衡它.