【问题标题】:php modulus in a loop by displaying only 5 items per row通过每行仅显示 5 个项目,循环中的 php 模数
【发布时间】:2019-01-14 07:31:46
【问题描述】:

我想循环额外的细节......通过计算总项目除以五。例如,我有 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 详细信息?

【问题讨论】:

    标签: php loops modulus


    【解决方案1】:

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

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

    最后你可以使用两个循环,一个在 divs 中打印实际行,另一个打印额外的 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){ ... } 块保留在等式之外,但您可以根据需要将其放置在适当的位置。

    【讨论】:

      猜你喜欢
      • 2012-01-13
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 2018-03-26
      • 2018-02-20
      • 2017-03-28
      相关资源
      最近更新 更多