PHP:将数组中的每个3包裹起来,然后放置剩余的部分



我有一个循环的帖子,每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>

有人知道怎么做吗?或者,你可以指给我看吗?任何和所有的帮助是感激的!

// 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>';

最新更新