2012-07-26 48 views
1

我無法弄清楚如何在每五個記錄之後將我的子類別組合到一個容器中。Php將每個組的項目放入一個容器

比如我想輸出我subcats這樣

<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數組中的元素。

回答

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

添加一些代碼,並獲得更多的upvotes :) – 2012-07-26 15:13:29

+0

@ZoltanToth我的工作就可以了。 ;) – Crontab 2012-07-26 15:14:03

+1

謝謝你的工作! – 2012-07-26 15:36:40

0

您還可以得到$iforeach ($cat->sub as $i=>$child)

+0

不一定 - 您正在假設提問者的數組是如何編入索引的。 – Crontab 2012-07-26 15:16:33

相關問題