Php 对行和列使用模运算

Php 对行和列使用模运算,php,html,css,modulo,Php,Html,Css,Modulo,我知道这个问题已经被问了好几次了,但我就是不能把它弄对。我发现的所有例子都过于个人化和复杂,或者有些角度或javascript。我试图学习如何在一行中设置4列 // start basic loop just to have some data <?php for($a=1; $a<=20; $a++) : ?> // set counter <?php $i=0; ?> <div class="row">

我知道这个问题已经被问了好几次了,但我就是不能把它弄对。我发现的所有例子都过于个人化和复杂,或者有些角度或javascript。我试图学习如何在一行中设置4列

 // start basic loop just to have some data
 <?php for($a=1; $a<=20; $a++) : ?>

    // set counter
    <?php $i=0; ?>

    <div class="row">

        <div class="col-md-3" style="border: 1px solid black">
            <?php echo $i; ?>
        </div>

        <?php if($i++ % 4 == 0) : ?>
        </div><div class="row">
    <?php endif; ?>

// close row
</div>

<?php endfor; ?>
//启动基本循环只是为了获得一些数据
//设置计数器
//近排

您的PHP脚本有点过时,请尝试以下操作

<div class="row">
    <?php
// start basic loop just to have some data
for($a=0; $a<=20; $a++) {
    ?>
    <div class="col-md-3" style="border: 1px solid black">
        <?php echo $a; ?>
    </div>
    <?php
    if($a % 4 == 3) {
    ?>
</div>
<div class="row">
    <?php
    }
}
    ?>
</div>

如果创建一个用于生成行的循环,以及另一个用于生成这些行中的单元格的循环,事情会变得更简单,如下所示:

<?php   // start basic loop for generating rows
        for($row=0; $row<5; $row++) {
?>          <div class="row">
<?php       // start basic loop for cells within a row
            for($cell=0; $cell<4; $cell++) {
?>              <div class="col-md-3" style="border: 1px solid black">
                    <?=$row*4+$cell?>
                </div>
<?php       }
?>          </div>
<?php   }
?>
<style>
    .col-md-3 { display: table-cell; width: 100px }
</style>

“在一行中设置基本4列”是什么意思?您正在重置
$i=0$a
的每个循环上的code>。因此,如果($i++%4==0)中的
$i++
将永远不会增加。您应该在
$a
上进行检查。使用
$i
的目的是什么?另外,您应该将
移动到循环之前,因为当前您在
$a
的每个循环上都做了一行,而不仅仅是在4之后。您的注释可能应该是HTML注释,而不是PHP注释。这将为每列生成四行,相反,这不会改变任何事情。每行有一列,但每隔一行该行甚至没有任何列column@IvanTopi现在试试看。在phpfiddle上试用:)