我有一个生成UL LI语句的脚本,并创建一个列列表,现在我需要修改它而不是长列表,我将它分成几列,每列有10个元素,直到结束。
for ($i=0;$i<sizeof($manufacturer_sidebox_array);$i++) {
$content = '';
$content .= '<li ><a class="hide" href="' . zen_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturer_sidebox_array[$i]['id']) . '">';
$content .= $manufacturer_sidebox_array[$i]['text'];
$content .= '</a></li>' . "\n";
echo $content;
}
我想弄清楚的是如何以我可以创建列的方式插入一些if语句。
现在输出是:
Col1中
第一 第二 第三 第四 第五 第六 。 。 。 第二十个
我想要的是:
Col1 Col2 Col3 ... Col6
11月21日21日 。 。 。 10月20日30日
答案 0 :(得分:0)
这会将数组分成十组,将每个组包装在column
div中。请注意,我们在循环之前开始第一个div并在循环之后结束最后一个div。在10个条目中打破的关键部分是模数运算符 - %
- 您可以阅读它in the PHP documentation:
echo '<div class="menuColumn">';
for ($i=0; $i<count($manufacturer_sidebox_array); $i++) {
if ($i % 10 == 0){
echo '</div><div class="menuColumn">';
}
$content = '';
$content .= '<li ><a class="hide" href="' . zen_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturer_sidebox_array[$i]['id']) . '">';
$content .= $manufacturer_sidebox_array[$i]['text'];
$content .= '</a></li>' . "\n";
echo $content;
}
echo '</div>';
您还需要这种CSS样式,使列水平堆叠而不是默认的垂直堆叠。显然,您可以根据自己的喜好调整保证金:
<style>
.menuColumn{
display:inline-block;
margin:10px;
vertical-align: text-top;
}
</style>