当前位置: 首页 > 知识库问答 >
问题:

PHP虽然循环ODD和甚至包装在左边或右边的列

能可人
2023-03-14

我似乎无法正确理解这一点,基本上我有一个while循环,我希望所有奇怪的帖子都被包装在一个名为的div中。向左拆分,因此1、3、5等将进入该列。然后所有的偶数岗位都必须进入。拆分右分区so 2、4、6等。

目前,我的循环正在将post 1放入。分割左div,然后将2、4、6放入分割左div,有些地方不对劲。

<!-- SPLIT EFFECT PAGE BUILDER -->
<div class="page-builder split">

<?php if( have_rows('split_effect_page_builder') ): ?>
  <div class="split-left">
  <?php $i = 1; ?>
  <?php while ( have_rows('split_effect_page_builder') ) : the_row(); ?>

    <?php get_template_part('template-parts/page', 'builder'); ?>

    <?php
      if($i % 2 == 0){
        echo '</div><div class="split-right">';
        $i = 0;
      } 
      $i++; 
    ?>

  <?php endwhile; ?>
  </div>
<?php else : ?>

<?php // no layouts found ?>

<?php endif; ?>
</div>
<!-- END SPLIT EFFECT PAGE BUILDER -->

下面的这部分只是一个带有循环的模板,所以把它想象成一个普通的PHP同时循环。

<?php get_template_part('template-parts/page', 'builder'); ?>

似乎没有人能帮我解决这个问题,我在谷歌上到处搜索和检查一些代码,这些代码将偶数和奇数文章分成两列,但没有找到任何偶数参考来帮助我解决这个问题。

共有1个答案

袁弘方
2023-03-14

用于循环,在循环之间应用if-else条件。

<?php if( have_rows('split_effect_page_builder') ): ?>
  <div class="split-left">
  <?php 
  for($i=1;$i<have_rows('split_effect_page_builder');$i++){
  the_row(); ?>

    <?php get_template_part('template-parts/page', 'builder'); ?>

    <?php
      if($i % 2 == 0){
        echo '</div><div class="split-right">';
      } 
      else{
       echo '</div><div class="split-left">';
      }

    ?>
</div>
  <?php } ?>
  </div>

</div>
 类似资料:
  • 我试图创建一个函数,使用不同的字段作为权重将数据分成十分之一,这样我就可以有相等的暴露桶。在这样做的时候,我创建了一个简单的例子,我试图进入3个桶。我确实在第一部分遇到了困难,那就是让这个while循环工作起来: 我的成绩是0,0 谢谢!

  • 在生命数==0之后,while语句为false,必须退出循环。但在这种情况下,即使循环为false,也会执行循环。

  • 问题内容: 我正在寻找一种将2个div作为列的方法,其中右侧的div具有固定的宽度,左侧的div填充剩余空间。 有谁碰巧知道是否可以做到这一点? 我的尝试 (在block1下面提供了block2) : 问题答案: 您可以这样做: HTML: CSS:

  • 我正在使用ActionBarDrawerToggle(导航抽屉),但我无法将其设置在右角(对于波斯语)。 这是我的activity\u main。xml代码: 这是我的活动课的相关代码: 我搜索过这个,我应该使用重力,但它在xml中不起作用。

  • 我有一个div,它的左右两侧有一个像素的纯白色边框,顶部有两个像素的纯黑色边框。在这些边界相交的拐角处,像素显示为白色。有可能把它变成黑色吗? 这是怎么回事? html: 和css:

  • hasNext()的定义是“如果此扫描仪的输入中有另一个标记,则返回true。此方法可能会在等待输入扫描时阻塞。扫描仪不会前进超过任何输入。” 当我把 standardInput.hasNext() 放在 for 循环中时,程序会向无穷大运行。但是如果我把它放在 while-loop 中,它不会运行到无穷大。这两个程序之间的区别在哪里,为什么其中一个有效而另一个无效? for循环: while-l