php 循环中的模数,每行仅显示 5 个项目

php modulus in a loop by displaying only 5 items per row

我想循环额外的细节.. 通过计算总项目 divided 五个。例如,我有 2 个项目,然后我将额外添加 3 div。当我有 8 个项目时,我会添加额外的 2 div。

$totalcount = 2;
$check = $totalcount %5;
$totalcount = 8;
$check = $totalcount %5;

我发现我不能使用这个方法,因为它循环错误。 当到达循环结束时检测到主循环时,我将使用额外循环来显示结果。

if($key == $len - 1)
    for ($i = 0; $i < $check; $i++) {
        // do something
    }
}

是否有任何解决方案,我可以确保 $totalcount%5 始终等于零并向其添加额外的 div 详细信息?

您需要做一些计算才能找出所需的额外 divs 数量。鉴于 $totalcount 是您的行数,$totalcount 将是您需要的 divs 数。随后,您必须按以下方式计算额外的 divs

$totalcount = 7; // or some other value
$totaldivs = $totalcount + (5 - ($totalcount % 5));
$extradivs = $totaldivs - $totalcount; // extra divs

最后你可以使用两个循环,一个在 divs 中打印 actaul 行,另一个打印额外的 divs,像这样:

// loop printing rows inside divs
for($i = 0; $ < $totalcount; ++$i){
    echo '<div>';
    // your rows
    echo '</div>';
}

// loop printing extra divs
for($i = 0; $ < $extradivs; ++$i){
    echo '<div>';
    ...
    echo '</div>';
}

旁注: 我将 if($key == $len - 1){ ... } 块保留在等式之外,但您可以根据需要将其放置在适当的位置。