使用php循环并将项目拆分为不均匀的div

时间:2015-02-26 16:55:03

标签: php html

循环浏览12个项目我想将整个列表分成div,以便0,1在div中,2在div中,3,4在div中,5在div中等等。

<!-- half half 0,1 -->
<div class="right-grid-row">
    <div class="medium-6 columns">
        0
    </div>
    <div class="medium-6 columns">
        1
    </div>
</div>

<!-- full 2 -->
<div class="right-grid-row">
    <div class="medium-12 columns">
        2
    </div>
</div>

<!-- half half 3,4 -->
<div class="right-grid-row">
    <div class="medium-6 columns">
        3
    </div>
    <div class="medium-6 columns">
        4
    </div>
</div>

<!-- full 5 -->
<div class="right-grid-row">
    <div class="medium-12 columns">
        5
    </div>
</div>

我假设在多个循环上需要模数,但我有点挣扎。

说明**

<?php for($i = 0; $i < 12; $i++): ?>
        <?php echo $i; ?>
<?php endfor; ?>

谢谢,

2 个答案:

答案 0 :(得分:0)

            <?php for($i = 0; $i < 12; $i++): ?>
                    <?php switch($i) { ?>
                      <?php case '0':  ?>
                      <?php case '1':  ?>
                      <?php case '3':  ?>
                      <?php case '4':  // add more if needed ?>
                      <?php      //your code ?>
                      <?php      break; ?>
                      <?php default: ?>
                      <?php      //your other code ?>
                    <?php } ?>
            <?php endfor; ?>

答案 1 :(得分:0)

您可以使用模数运算符,但这是另一种方法:

$counter = 1;
for($i = 0; $i < 12; $i++) {
   ... // create inner div
   if ($counter == 2)
      echo '</div><div class="medium-12 columns">';
   else if ($counter == 3) {
      echo '</div><div class="right-grid-row">';
      $counter = 0; // reset the counter
   }
   $counter++;
}

它简单易读。这段代码不完整,你需要处理你的第一个开场白和最后一个结尾的div,但希望你能得到这个想法。