プロが教えるわが家の防犯対策術!

continueやbreakの後の数字について良くわからないのですが、教えてください。具体的には下記のコードになります。いったいどこをどのように数えているのかまったくわかりません。2ってどこから2なのか1234ってどこで決まっているのかまったく意味がわかりません。よろしくお願いします。

$I = 0;
WHILE(1) {
$I++;
ECHO "2番ループ:$I<BR>";
WHILE(1) {
ECHO "1番ループ<BR>";
   IF ($I < 5) {
CONTINUE 2;
} ELSE {
BREAK 2;
}
ECHO "ここにはこないです";
   }
}

A 回答 (3件)

break や continue の後の数字は、入れ子になっている while 文などのどこまで外を対象にするかの数字です。


この例の場合ですと、

$I = 0;
WHILE(1) { ------- 外側のwhile文(2番目)
  $I++;
  ECHO "2番ループ:$I<BR>";
  WHILE(1) { ------- 内側のwhile文(1番目)
    ECHO "1番ループ<BR>";
    IF ($I < 5) {
      CONTINUE 2;
    } ELSE {
      BREAK 2;
    }
    ECHO "ここにはこないです";
  }
}

continue 2; は外側の(2番目の) while文の終わりに飛び
break 2; は外側の(2番目の) while文から出る
となります。
    • good
    • 0
この回答へのお礼

みなさん、ありがとうございました。

お礼日時:2008/09/04 23:31

これをご覧下さい。



【PHP TIPS】 9. continueとbreak、使いこなしてますか?:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070 …
    • good
    • 0

言語仕様書を読んで下さい。


http://jp2.php.net/manual/ja/control-structures. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!