循环中的组项

时间:2015-08-14 06:16:40

标签: php loops while-loop

我想在while循环中对项目进行分组,以便前两个项目包装在一个div中,然后将其余部分包装在另一个div中。

我无法想办法如何做到这一点。问题是循环中的项目数量不同,并不总是相同。我尝试使用以下简单的逻辑,但它不起作用,因为项目的数量发生了变化。例如,如果项目的数量多于或少于预期,则不会关闭标记。

$i = 0;
while ( $query -> have_posts() )

    if ( $i == 0 ) {
        echo '<div class="one">'
    }

    if ( $i == 2 ) {
        echo '</div>'
    }

    if ( $i >= 2 ) {
        echo '<div class="two">'
    }

    //??

    $i++;

endwhile;

3 个答案:

答案 0 :(得分:1)

您可以尝试使用 -

$i = 0;
echo '<div class="one">';
while ( $query -> have_posts() )

    if ( $i == 2 ) {
        echo '</div><div class="two">';
    }
    //  Item
    $i++;

endwhile; 
echo '</div>';

答案 1 :(得分:1)

只需在循环后添加最后一个div;

    $i = 0;
    echo '<div class="one">';
    while ( $query -> have_posts() ) {

        if ( $i == 2 ) {
            echo '</div><div class="two">';
        }

        $i++;
    }
    echo '</div>';

答案 2 :(得分:1)

请试试这个:

$i = 0;
$html = '<div class="one">';
while ( $query -> have_posts() )
{
    if ( $i == 2 ) {
        $html .= '</div><div class="two">'; // if item count is 2. close the previous div and create a new one
    }
    $i++;

}
$html .= '</div>';

echo $html;