PHP - 每4次将一个div添加到foreach循环中

Big*_*ies 28 php

我需要一个foreach循环的一点帮助.

基本上我需要做的是每4个循环包围一个div输出数据.

我有以下循环:

foreach( $users_kicks as $kicks ) {
    echo $kicks->brand;
}
Run Code Online (Sandbox Code Playgroud)

它每4次回声,我想把它包装在一个最后它看起来像这样:

<div>
    kicks brand
    kicks brand
    kicks brand
    kicks brand
</div>
<div>
    kicks brand
    kicks brand
    kicks brand
    kicks brand
</div>
<div>
    kicks brand
    kicks brand
    kicks brand
    kicks brand
</div>
Run Code Online (Sandbox Code Playgroud)

等等.

干杯

Nin*_*nja 123

$count = 1;
foreach( $users_kicks as $kicks ) 
{
    if ($count%4 == 1)
    {  
         echo "<div>";
    }
    echo $kicks->brand;
    if ($count%4 == 0)
    {
        echo "</div>";
    }
    $count++;
}
if ($count%4 != 1) echo "</div>"; //This is to ensure there is no open div if the number of elements in user_kicks is not a multiple of 4
Run Code Online (Sandbox Code Playgroud)


Lau*_*nce 95

这个答案很晚 - 但是如果人们看到它 - 这是一个更清洁的解决方案,没有凌乱的计数器和if声明:

foreach (array_chunk($users_kicks, 4, true) as $array) {
    echo '<div>';
    foreach($array as $kicks) {
         echo $kicks->brand;
    }
    echo '</div>';
}
Run Code Online (Sandbox Code Playgroud)

你可以在php.net上阅读有关array_chunk的内容


ada*_*ost 19

尝试%模数运算符.

$i=1;
//div begins
foreach( $users_kicks as $kicks ) {
   if($i % 4 ==0)
    {
      //div ends
      //div begins
    }
    echo $kicks->brand;
   $i++;
}
//div ends
Run Code Online (Sandbox Code Playgroud)