Php将foreach组项目放入容器中

时间:2012-07-26 15:09:41

标签: 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>

我试过了:

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

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

2 个答案:

答案 0 :(得分: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>';

答案 1 :(得分:0)

您还可以使用$i

获取foreach ($cat->sub as $i=>$child)