PHP:将每3个数组换行然后放置剩余部分

时间:2016-09-22 12:44:22

标签: php loops

我有一个帖子循环,每4个帖子后分成一个列表项。但是,我不希望任何列表项少于3且不超过4.这是我的循环:

echo '<li class="match">';
  while ( $player_query->have_posts() ) {
    $player_query->the_post(); $i3++; $i5++;

    echo '<span class="team team-' . ( $i5 - 1 ) . '"><span class="team-name">' . get_the_title() . '</span>';
    echo $select . '</span>';

    if ( $i4 === 2 && $count == $i5 && checkNum( $count ) === TRUE  && needBye( $count ) === TRUE ) {
      echo '</li><li class="match bye">';
    } elseif ( 0 == $i3%$i4 && $count != ( $i5 - 1 ) ) {
      echo '</li><li class="match">';
    } else {
      echo '';
    }
  }
echo '</li>';

我有10个帖子的例子:

<li>
  Post 1
  Post 2
  Post 3
  Post 4
</li>
<li>
  Post 5
  Post 6
  Post 7
  Post 8
</li>
<li>
  Post 9
  Post 10
</li>

但是,我想要的是:

<li>
  Post 1
  Post 2
  Post 3
  Post 10
</li>
<li>
  Post 3
  Post 4
  Post 5
  Post 6
</li>
<li>
  Post 7
  Post 8
  Post 9
</li>

任何人都有这方面的线索吗?或者,你可以指向我的地方?任何和所有的帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

// Try Like This
echo '<li class="match">';
$counter = 0;
while ( $player_query->have_posts() ):
$player_query->the_post(); ?>

<span class="<?= ($counter%3 == 0)?'match':''; ?>"></span>

<?php $counter +=1;
endwhile;
echo '</li>';