沃梦达 / 编程问答 / php问题 / 正文

使用PHP将数组拆分为3个相等的列

Split Array Into 3 Equal Columns With PHP(使用PHP将数组拆分为3个相等的列)

本文介绍了使用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>";

这篇关于使用PHP将数组拆分为3个相等的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:使用PHP将数组拆分为3个相等的列