私は初心者で、cとphpで次のコードをテストしました。このコードが「10」を出力する理由を教えてください。
for($i=0;$i<10;$i++);
{
print $i;
}
はい、でも彼はなぜ「10」を印刷しているのかと尋ねています。理由は次のとおりです。
あなたのコードは:
<?php
for($i=0;$i<10;$i++);
{
print $i;
}
?>
この行for($i=0;$i<10;$i++);
はループであり、0から9まで10回ループします。すべての数値の後、変数$i
はインクリメントされ($i++
)、最初のループの後、$i
値は1になります。10回目の反復の後、値は10になります。
その後、print $i;
そうすると、10番が正しく印刷されます。
しかし、ここで、forループの後にセミコロンを削除すると、forループの本文が次のようになります。
{
print $i;
}
と印刷されます0123456789
。
for
そのループの後のセミコロンを参照してください。したがって、PHPはループに本体がないと見なします。したがって、print $i
は1回だけ実行されます
間違ったコード;
<?php
for($i=0;$i<10;$i++)
{
print $i;
}
?>
すべての数値を出力する必要があります
for
ステートメントのセミコロンのため。これにより、ステートメントが予想よりも早く終了し、ステートメントprint
はループの一部ではなくなります。
for($ i = 0; $ i <10; $ i ++);の後の;(セミコロン)を削除します。声明。
この行のセミコロンを削除すると、1,2,3..9が出力されます。
for($i=0;$i<10;$i++);
そうしないと、最初は何も書き込まずにループを実行し、その後、forループで10になった$iを出力します。
forループの横のセミコロン(;)は、ループの内容が空であるため、空の内容がループ(for($i=0;$i<10;$i++);
)のように10回実行され、ループごとに$ iの値がインクリメントされ、最終値10が出力として出力されることを示します。