1

コードを書くときは、ループを使用する必要があります。

$six = 6;
for ($i = $six; $i > 1; $i--) {
   echo $i."<br>";
}

出力

6
5
4
3
2

1を出力するためにも必要です。できることはわかっていますfor ($i = 6; $i >= 1; $i--)

または for ($i = $six+1; $i > 1; $i--)評価中ですが、とても混乱しています!for実際、ステートメントを使用するときはいつも混乱していました。

編集:私は逆に考えるのが好きではないので、混乱します..条件$six > 1が真である間ではなく、条件$six = 1が満たされる前にループを実行するのが好きです。

私が推測する逆の方法

loop_before ($six==1) {
   echo $six.<br />;
   $six--;
}

これでも 654321 は出力されません...学校に戻る必要があると思います。しなければならない

loop_before ($six<1) {
   echo $six.<br />;
   $six--;
}
4

4 に答える 4

4

「基本ケース」を次のように変更するだけです$i > 0

または、演算子を次のように変更します$i >= 1

于 2012-09-28T23:49:55.780 に答える
1

この混乱は forfor()ステートメントだけでなく、他のタイプのループでも発生する可能性があります。$six >= 1または使用できます$six > 0

例 1

$six = 6;
do {
    echo $six . "<br>";
    $six --;
} while ( $six >= 1 );

例 2

$six = 6;
for($i = $six; $i >= 1; $i --) {
    echo $i . "<br>";
}

例 3

$six = 6;
while ( $six >= 1 ) {
    echo $six . "<br>";
    $six --;
}

最後に、デフォルトの PHP ループを使用しないことにするかもしれません。

$six = 6;
__loop($six);

function __loop($x) {
    echo $x . "<br>";
    $x --;
    ($x < 1) ? $x : __loop($x);
}

それらはすべて同じものを返します

6
5
4
3
2
1
于 2012-09-29T00:02:22.197 に答える
0

英語では、forループ構文は次のようになります。

At the start of the loop, $i is equal to $six.
Run the loop 'while' $i is greater than 1.
At the end of each running on the looping statement, decrement 1 from $i.

したがって、$ iが値1にデクリメントされると、$i > 1$ iが1より大きいことをチェックしているため、条件ステートメントはtrueを返しなくなります。

lojikが言ったように、$i>0または$i>= 1を使用します。したがって、$ iが1に等しい場合、条件は通過し、次のループで$ iが比較値よりも小さいために停止します(この例では1 )。forループの後、$ iの値をチェックすると、0に等しいことがわかります。これは、条件に失敗します。

于 2012-09-29T00:04:18.180 に答える
0

より明確に説明するために、次の場合にループ内でコードを実行するように言っています$i > 1

$i1 の場合、コードは実行されません。1 は 1 以下です。

ロジクが言ったように使用$i > 0 または$i >= 1

于 2012-09-28T23:55:23.897 に答える