所以我想要完成的是:
<div class="product-box">
<ul class="product-list">
<li><a href="http://sauritchsurfboards.com/longboards.html" title="Surfboards _ San Diego Surfboard Shapers _ Sauritch Surfboards-2" target="_blank"><span>Surfboards _ San...</span>
</a></li>
<li><a href="http://sauritchsurfboards.com/longboards.html" title="Surfboards _ San Diego Surfboard Shapers _ Sauritch Surfboards-2" target="_blank"><span>Surfboards _ San...</span></a></li>
<li><a href="http://sauritchsurfboards.com/longboards.html" title="Surfboards _ San Diego Surfboard Shapers _ Sauritch Surfboards-2" target="_blank"><span>Surfboards _ San...</span></a></li>
<li><a href="http://sauritchsurfboards.com/longboards.html" title="Surfboards _ San Diego Surfboard Shapers _ Sauritch Surfboards-2" target="_blank"><span>Surfboards _ San...</span></a></li>
<li><a href="http://sauritchsurfboards.com/longboards.html" title="Surfboards _ San Diego Surfboard Shapers _ Sauritch Surfboards-2" target="_blank"><span>Surfboards _ San...</span></a></li>
<li><a href="http://sauritchsurfboards.com/longboards.html" title="Surfboards _ San Diego Surfboard Shapers _ Sauritch Surfboards-2" target="_blank"><span>Surfboards _ San...</span></a></li>
</ul>
</div>
我有一个$griditems
,它是数据库中的一个数组。
我想在其中显示6个<li>
的6个.product-box'es来自$griditems
通常我会做的:
<div class="product-box">
<ul class="product-list">
<?php
$count=1;
foreach($griditems as $item)
{
if($count == 6) { break; }
?>
<li><a>.....</a></li>
<?php
$count++;
}
?>
</ul>
</div>
但是在这种情况下这不起作用,因为我希望有6个这样的.product-box类,并且每个.product-box内应该是这6个项目,它们应该继续相互之间而不是重复相同的{6}存在于$griditems
数组中。
我该怎么做?
答案 0 :(得分:1)
您可以使用array_chunk
将数组拆分为特定最大长度的子数组。
$chunks = array_chunk($griditems, 6);
foreach($chunks as $chunk) {
echo "<div><ul>";
foreach($chunk as $item) echo "<li>".$item."</li>";
echo "</ul></div>";
}
顺便说一句,使用HTML元素仅仅是为了容纳一个其他HTML元素并不是很好的做法,所以你的DIV可能是超级的。
答案 1 :(得分:0)
你想使用mod运算符(%
)来检查每个第六项,然后关闭现有的框并开始一个新的框,如下所示:
?>
<li><a>.....</a></li>
<?php
if ($count % 6 == 0) { ?>
</ul>
</div>
<div class="product-box">
<ul class="product-list">
<?php }
...
答案 2 :(得分:0)
我可能误解了你的问题,但我认为这会有所帮助:
$count = 0;
echo "<ul>"
foreach($griditems as $item) {
if (++$count % 6 == 0) {
echo "</ul><ul>";
}
echo "<li><a>....</a></li>";
}
echo "</ul>";