算法 - 按字面顺序排列字典而不是列式 - Bootstrap

时间:2017-04-22 10:45:29

标签: twitter-bootstrap loops

我按字母顺序排列字符串列表,如下所示:
AA,AB,AC,BA,BD,CD,DE,DF,EA,ED,FA,FB,GA,GB

当我遍历列表时,它按字母顺序排列如下:
AA ---- AB ---- AC ---- BA
BA ---- BD ---- CD ---- DE
DF ---- EA ---- ED ---- FA
FB ---- GA ---- GB
那是因为我像这样循环

loop over list
<div class="col-md-3"> list element here...</div>

我希望输出如下:

AA ---- BA ---- DF ---- FB
AB ---- BD ---- EA ---- GA
AC ---- CD ---- ED ---- GB
BA ---- DE ---- FA

那么,我在bootstrap中输出这样的逻辑是什么?

谢谢,

1 个答案:

答案 0 :(得分:1)

试试这个

$arr = array("AA","AB", "AC", "BA", "BD", "CD", "DE");
$d = count($arr) / 4;
$tr = floor ($d);
$fraction = ($d - floor($d)) * 4;

$j = 0; 
while (true) {
    $html ="";
    $i = $j;
    $f = $fraction;
    if ($f == 0 && $j == $tr) {
        break;
    }

    for ($col = 0; $col < 4; $col++) {

        $html .= $arr[$i] . " "; // apply html / bootstrap classes etc here

        $i += $tr + ($f-- > 0 ? 1 : 0);
        if ($col < 3 && $i >= count($arr) || ($f == 0 && $j == $tr)) {
            echo $html . "<br>";
            $html = "";
            break;
        };
    }

    if ($html == "") {
        break;
    } else {
        echo $html . "<br>";
    }
    $j++;
}