使用PHP将数组拆分为3个相等的列
我使用以下PHP代码回显数组中的数据.
foreach($businessnames as $b)
{
$theurl = get_term_link($b, 'businessnames');
echo "<li style='width: 31%;'><a href="" . $theurl . $append . "">". $b->name ."</a></li>";
}
我使用它将数据分成3个相等的列,但现在我需要按照数组的顺序排列3个相等的列(而不是像CSS浮动那样"从左到右")。我想我需要用PHP计算数组中的总值,然后将其除以,但我不确定代码会是什么。我一直在四处寻找,但没有找到特别解决这个问题的方法。
如何调整此处的代码以将数组数据放入3个相等的列?
谢谢!
解决方案
可以使用ARRAY_CHUNK将数组拆分成多个片段
$cols = array_chunk($businessnames, ceil(count($businessnames)/3));
foreach ($cols as $businessnames){
echo "<ol class='col'>";
foreach($businessnames as $b)
{
$theurl = get_term_link($b, 'businessnames');
echo "<li style='width: 31%;'><a href="" . $theurl . $append . "">". $b->name ."</a></li>";
}
echo "</ol>";
}
或者,您也可以使用纯CSS解决方案。
echo "<ol style='column-count:3; -o-column-count:3; -moz-column-count:3; -webkit-column-count:3;'>";
foreach($businessnames as $b)
{
$theurl = get_term_link($b, 'businessnames');
echo "<li style='width: 31%;'><a href="" . $theurl . $append . "">". $b->name ."</a></li>";
}
echo "</ol>";
相关文章