【问题标题】:How to create bootstrap html structure in php loop?如何在 php 循环中创建引导 html 结构?
【发布时间】:2015-09-18 22:08:02
【问题描述】:

我正在使用引导程序,需要创建这样的结构

    <div class="row">
        <div class="col-sm-3">
            <!--content loop 1-->
        </div>
        <div class="col-sm-3">
            <!--content loop 1-->
        </div>
        <div class="col-sm-3">
            <!--content loop 2-->
        </div>
        <div class="col-sm-3">
            <!--content loop 2-->
        </div>
    </div>

    <div class="row">
        <div class="col-sm-3">
            <!--content loop 3-->
        </div>
        <div class="col-sm-3">
            <!--content loop 3-->
        </div>
        <div class="col-sm-3">
            <!--content loop 4-->
        </div>
        <div class="col-sm-3">
            <!--content loop 4-->
        </div>
    </div>

我需要在单个 foreach 循环中创建它,但在每个循环中我只创建这个结构。

    <div class="col-sm-3">
        <!--content loop 1-->
    </div>
    <div class="col-sm-3">
        <!--content loop 1-->
    </div>

我可以在循环之外创建第一个 &lt;div class="row"&gt;&lt;/div&gt;,但是我如何跳出循环来创建第二个 &lt;div class="row"&gt;&lt;/div&gt; 并继续循环

【问题讨论】:

    标签: php html twitter-bootstrap loops


    【解决方案1】:

    你可以做一些这样的事情。您可以根据需要进行修改。 我刚刚提到了逻辑

       <div class="row">
         <?php
             $i = 0;
             foreach(....../*your code*/){
               if($i == 4){
                   $i = 0;
                  ?>
                      </div><div class="row">
                    <?php
                } 
                    ?>
                <div class="col-sm-3">
                   <!--content-->
                </div>
              <?php
                $i++;
             }
            ?>
            </div>
    

    【讨论】:

    • 我认为这是可行的,但它似乎错过或跳过了数组中的第三个位置 - 我在这里有一个演示 viper-7.com/EsGoc9。我想要每行 2 个 div 和两行。我刚刚输出了数组元素,它错过了第三个元素
    • 是的,看来我错过了。请参阅我在回答中所做的编辑。并在此处检查编辑viper-7.com/bRjxb3
    【解决方案2】:

    就这么简单:

    for($i = 0;$i < 4;$i++) {
        echo '<div class="row">';
        for($j = 0;$j < 4;$j++) {
            echo '<div class="col-sm-3"></div>';
        }
        echo '</div>;'
    }
    

    【讨论】:

      【解决方案3】:

      我喜欢这样做,因为我认为这样更干净,更容易管理:

      <?php
          $colsOffset = 4;
          $items = array('content1','content2','content3','etc...');
          $i = 0;
      ?>
      <?php foreach ( $items as $item ) { ?>
          <?php echo ($i % $colsOffset == 0 || $i == 0) ? '<div class="row">' : '' ?>
          <div class="col-sm-3">
             <!--content loop-->
          </div>
          <?php echo (($i + 1) % $colsOffset == 0 || ($i + 1) == count($items)) ? '</div>' : '' ?>
          <?php $i++; ?>
      <?php } ?>
      

      【讨论】:

        猜你喜欢
        • 2019-07-20
        • 2011-06-18
        • 1970-01-01
        • 2014-06-19
        • 1970-01-01
        • 2020-10-07
        • 2021-10-23
        • 2016-07-26
        • 1970-01-01
        相关资源
        最近更新 更多