2016-09-22 20 views
0

我有一個帖子循環,每4個帖子後分成一個列表項。不過,我不希望任何列表項有小於3,不超過4。這裏是我的循環:什麼,我有10個職位PHP:將每3個數組包裝,然後剩下的地方

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

例子:

<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

請在PHP函數中搜索'array_chunk()'... –

+0

爲什麼Post 3出現兩次? –

+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>'; 
相關問題