Php将foreach组项目放入容器中

Lac*_*i K 1 php foreach

我无法弄清楚如何在每五个记录之后将我的子类别分组到一个容器中.

例如,我想像这样输出我的子类

<ul>
<li>
 Main category
 <div>
  <div class="subcontainer">
   sub1
   sub2
   sub3
   sub4
   sub5
  </div>
  <div class="subcontainer">
   sub6
   sub7
   sub8
   sub9
   sub10
  </div>
 </div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我试过这个:

<?php
$i=0;
foreach ($cat->sub as $child) {
  if($i % 5 == 0){
   echo '<div class="subcontainer"><div>'.$child->name.'</div></div>';
  } $i++;
}
?>
Run Code Online (Sandbox Code Playgroud)

但是这只会输出数组中的第5个元素.

Cro*_*tab 5

您需要始终打印您的$child->name变量,并且每隔5个项目也会打印该</div><div>部件.你几乎拥有它.

$i=0;
echo '<div class="subcontainer">';
foreach($cat->sub as $child) {
    $i++;
    echo $child->name; // I'm assuming this is what contains your "sub1"-"sub10"
    if ($i % 5 == 0) {
        echo '</div><div class="subcontainer">';
    }
}
echo '</div>';
Run Code Online (Sandbox Code Playgroud)