PHP迭代12项每三分之一执行一次回声

时间:2014-02-28 16:51:44

标签: php iteration

嗨,我一直在追逐我的尾巴,想知道是否有人可以解决我的头痛。

基本上我正在向页面呈现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>

提前致谢。

嗨,我认为有些代码会有所帮助:

$i=0;
foreach($posts as $p) {

$i++
}

所以基本上在每个我将输出一行和3个项目。结果来自数据库查询。我尝试了一些不同的方法,例如

if($i == 1) {echo "<div class='row'>";}
                    if ($counter % 4 == 0) {
                       echo "</div><div class='row'>";
                    }

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

2 个答案:

答案 0 :(得分: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>';
}

答案 1 :(得分:0)

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

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
    }

演示:https://eval.in/107129

我在演示中使用"\n"作为新行。如果您需要新行,则可以使用<br />