PHP迭代12项,每三分之一执行回显

PHP迭代12项,每三分之一执行回显,php,iteration,Php,Iteration,嗨,在这件事上我已经追问了好一阵子,想知道是否有人能解决我的头痛 基本上,我呈现12个项目的网页。每3个项目需要包装成一行,如: <div class='row'> <div class='item'> </div> <div class='item'> </div> <div class='item'> </div> </div> <div

嗨,在这件事上我已经追问了好一阵子,想知道是否有人能解决我的头痛

基本上,我呈现12个项目的网页。每3个项目需要包装成一行,如:

<div class='row'>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
</div>
<div class='row'>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
</div>
<div class='row'>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
</div>
<div class='row'>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
    <div class='item'>

    </div>
</div>
基本上,在for each中,我将输出一行和3项,结果来自数据库查询。我尝试了几种不同的方法,例如

if($i == 1) {echo "<div class='row'>";}
                    if ($counter % 4 == 0) {
                       echo "</div><div class='row'>";
                    }
如果($i==1){echo”“;}
如果($counter%4==0){
回声“;
}

但是我一直失败,请注意,这些只是代码片段。

您需要使用两个循环:

// Outer loop for each row
for ($row = 0; $row < 4; $row++) {
    echo '<row>';

    // Inner loop for the items
    for ($item = 0; $item < 3; $item++) {
        echo '<item>';
    }

    echo '</row>';
}
//每行的外部循环
对于($row=0;$row<4;$row++){
回声';
//项目的内部循环
对于($item=0;$item<3;$item++){
回声';
}
回声';
}

你应该自己做的。它需要知道循环的基本原理。
试着这样做:

for($i=0;$i <= 3; $i++){ //outer loop for 12 times
     echo "<row>"; // start row
     for ($j=0;$j<3;$j++){ // inner loops for echoing 3 times
      echo "<item>"; //echo item
     }
     echo "</row>"; // end row
    }

for($i=0;$i)您的PHP代码是什么样子的?使用两个循环-一个用于行,一个(内部)对于项目。使用
%
运算符进行计数。项目的来源是什么?数组?数据库?对于您到目前为止尝试的内容,使用一些PHP代码会很有帮助。这将生成12行
,而不是所需的4行。应该是
$i<4
。对于愚蠢的错误,抱歉。我已在@Chris处更正了它
for($i=0;$i <= 3; $i++){ //outer loop for 12 times
     echo "<row>"; // start row
     for ($j=0;$j<3;$j++){ // inner loops for echoing 3 times
      echo "<item>"; //echo item
     }
     echo "</row>"; // end row
    }