Php for loop issue


Php for loop issue

嗨,我正在学习 php 并尝试使用以下代码做一个 for 循环

,如下所示:
for($x=1; $x<=20; $x++){
    echo $x;
    $x = $x + 3; //5    
    echo "<br/>";
}

它是农产品

 1
 5
 9
 13
 14

但我希望它应该是...

1 
5
10
15
20
for ($x = 0; $x <= 20; $x += 5) {
    echo ($x == 0 ? 1 : $x), '<br>';
}

或:

foreach (range(0, 20, 5) as $x) {
    echo ($x == 0 ? 1 : $x), '<br>';
}

如果没有 1 个额外条件,则无法生成序列,因为增量在第一步中有所不同:

 1  + 4 ...
 5  + 5
10  + 5
15  + 5
20  + 5
有多个

解决方案。

一个是:

for($x=1; $x<=20; $x++){
    if(!($x % 5) || $x==1)
        echo $x . "<br />";    
}

解释

%是模运算符。它返回解视休息。

假设$x是 3,而不是 3 % 5 返回 3,因为结果 3/5 = 0 休息 3

如果其$x为 10,则返回 0。 10/5 = 2 休息 0

在 if 语句中,我使用 ! -not 运算符。这扭转了结果。

因为if将 1+(一个或多个(作为true,将 0-(零和更少(作为false

所以其余 3 个将是积极的(真的(,但在这种情况下,我希望它是假的。所以我用!来判断真/假

% - 模数

R - 休息

1 % 5 = 0 R 1  // would say true to if
2 % 5 = 0 R 2  // would say true to if
3 % 5 = 0 R 3  // would say true to if
4 % 5 = 0 R 4  // would say true to if
5 % 5 = 1 R 0  // would say false to if
6 % 5 = 1 R 1  // would say true to if
and so on...

试试这个。

    $x = 1;
for ($j = 1; $j <= 20; $j++) {
echo $x, "<br/>";
if ($x == 1) {
    $x = $x + 4;
} else {
    $x = $x + 5;
   if($x > 20){break;}
}
}

如果此答案适合您,请标记答案。

试试这个:

for($x=1; $x<=20; $x++) {
    if($x%5==0 || $x==1) {
        echo $x;
        echo "<br>";
    }
}