PHP循环1到800,每5行分隔一次

PHP循环1到800,每5行分隔一次,php,loops,Php,Loops,我需要做到这一点: 1 2 3 4 5 --- 6 7 8 9 10 --- 11 12 13 14 15 --- 16 17 18 19 20 --- ... 800 我的代码: <?php $sum = 0; $str = ''; for($i = 1; $i<=800; $i++) { $sum = $sum + $i; $str .= $i == 5 ? $i. "<br> --- <br>": $i."<br>"; }

我需要做到这一点:

1
2
3
4
5
---
6
7
8
9
10
---
11
12
13
14
15
---
16
17
18
19
20
---
...
800
我的代码:

<?php
$sum = 0;
$str = '';
for($i = 1; $i<=800; $i++) {
    $sum = $sum + $i;
    $str .= $i == 5 ? $i. "<br> --- <br>": $i."<br>";
}
echo $str;
问题是,使用此代码,它只能在第一个块之后进行分割

我希望你能帮助我,提前谢谢你。

试试这个

$sum = 0;
$str = '';
for($i = 1; $i<=800; $i++) {
    $sum = $sum + $i;
    $str .= $i%5 == 0 ? $i. "<br> --- <br>": $i."<br>";
}
echo $str;

只需将$i==5更改为$i%5==0

这可以用一种更简单的方法完成:

<?php
for ($i = 1; $i<=800; $i++) {
    echo $i . "\n";
    if ($i % 5 == 0) {
        echo "---\n";
    }
}

这是为了CLI输出,但HTML基本上是一样的

使用模数运算符%最后一行可以简化为:$str.=$i$i%5?:--;