Php 在foreach循环中每个包含6个内容的div之后添加一个包含5个内容的div

Php 在foreach循环中每个包含6个内容的div之后添加一个包含5个内容的div,php,html,css,twitter-bootstrap,foreach,Php,Html,Css,Twitter Bootstrap,Foreach,所以基本上我需要输出的是 我现在有这个代码。我对如何进行这项工作感到非常困惑 <?php $terms = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]; ?> <div class="container text-center"> <?php $count = 0; ?> <div clas

所以基本上我需要输出的是

我现在有这个代码。我对如何进行这项工作感到非常困惑

  <?php
    $terms = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
    15, 16, 17, 18, 19, 20, 21, 22];
  ?>

  <div class="container text-center">
    <?php $count = 0; ?>
    <div class="row">
      <?php
        foreach($terms as $term) : ?>
        <?php if ($count == 6) :  ?>
     </div> 
      <div class="row">
      <?php $count = 1; endif; ?>

      <div class="col-sm-2">
      <?php echo $term; ?>
      </div>
      <?php $count++; endforeach; ?>
    </div>  
  </div>

还没有尝试过,但如果您有$table数组,应该可以解决。。。希望对你有帮助

$table = [ 
     0 => [1, 2, 3, 4, 5, 6],
     1 => [1, 2, 3, 4 ,5],
     2 => [1, 2, 3, 4, 5, 6],
     3 => [1, 2, 3, 4, 5]
]

 <div class="container text-center">
       <?php 
        foreach($table as $div) {
           echo '<div class="row">';
           foreach($div as $number) {
                if(count($div) == 5) {
                 $add_offset = " col-md-offset-1 ";
                }
                echo '<div class="col-md-2 '.$add_offset.'"';
                echo $number;
                echo '</div>';
           }
           echo '</div>';
        }
       ?>
 </div>
编辑:同样,你还没有尝试过,但是你可能已经知道它应该如何工作,如果你遇到一些错误或者不完全是你想要的,也许可以稍微调整一下。值得一试

<?php
$terms = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];   
$count = 0;
$ct = 0;

echo '<div class="container text-center">';
while($count != floor(count($terms)%6)) {
    echo '<div class="row">';
        $repeat = 6;
        if($count % 2 == 1) {
            $add_class = "col-md-offset-1";
            $repeat = 5;
        }
        while($ct != $repeat) {
            echo '<div class="col-sm-2 '.$add_class.' ">'.$ct.'</div>';
            $add_class = '';
            $ct++;
        }

    echo '</div>';
    $count++;
}
echo '</div>':

您可以使用CSS来选择子元素的模式。在本例中,每个第7和第11项都被赋予与其他子元素交互的唯一边距属性。不需要PHP循环

.包装纸{ 最大宽度:320px; 文本对齐:居中; } .项目{ 显示:内联块; 宽度:48px; 高度:46px; 背景色:000; } .项目:第n种类型11n+0{ 右边距:24px; } .项目:第N种类型11N-4{ 左边距:24px; }
天哪,这太糟糕了!我知道,我很抱歉。我就是想不起来。你试过我在下面分享的css解决方案吗?也许对你的睡眠问题有帮助哈谢谢你Praem。但是我没有表数组。我正在动态地获取它。你正在使你的生活复杂化,因为有一个$terms=[1,2,3,4,5,6,7…]也许我们可以帮助你获取该数组,这比生成一个复杂的脚本要容易得多,而这个脚本在将来很难维护。。。。但是,这是你的选择,我们可以做一些事情,但这不是一个干净的代码。我从数据库中获取数据,所以我在该数组中没有太多控制权。这不是问题,一旦你从数据库中获取数据,你就可以自由设置数组,你不必使用默认的获取。无论如何,我已经编辑了我的文章,试图使用你原来的数组。