2

私は初心者で、cとphpで次のコードをテストしました。このコードが「10」を出力する理由を教えてください。

for($i=0;$i<10;$i++);
{
    print $i;
}
4

8 に答える 8

6

はい、でも彼はなぜ「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

于 2013-02-21T10:29:56.843 に答える
4

削除する;

for($i=0;$i<10;$i++);
                    ^

実例http://codepad.viper-7.com/SeVcbl

于 2013-02-21T10:24:09.777 に答える
4

forそのループの後のセミコロンを参照してください。したがって、PHPはループに本体がないと見なします。したがって、print $iは1回だけ実行されます

于 2013-02-21T10:24:40.220 に答える
3

間違ったコード;

<?php
 for($i=0;$i<10;$i++)
 {
  print $i;
 }

?>

すべての数値を出力する必要があります

于 2013-02-21T10:23:55.767 に答える
2

forステートメントのセミコロンのため。これにより、ステートメントが予想よりも早く終了し、ステートメントprintはループの一部ではなくなります。

于 2013-02-21T10:24:36.927 に答える
2

for($ i = 0; $ i <10; $ i ++);の後の;(セミコロン)を削除します。声明。

于 2013-02-21T10:26:17.060 に答える
2

この行のセミコロンを削除すると、1,2,3..9が出力されます。

for($i=0;$i<10;$i++);

そうしないと、最初は何も書き込まずにループを実行し、その後、forループで10になった$iを出力します。

于 2013-02-21T10:26:21.573 に答える
0

forループの横のセミコロン(;)は、ループの内容が空であるため、空の内容がループ(for($i=0;$i<10;$i++);)のように10回実行され、ループごとに$ iの値がインクリメントされ、最終値10が出力として出力されることを示します。

于 2013-02-26T04:31:07.427 に答える