PHPゲームを作りながら学ぼう!

広告

現在新パズルゲームっぽいのを作成中です(2018.06.03)。

広告
Pocket

while文は繰り返し処理の中で、最も単純です。

while ( 条件 ) {
    文
}

条件にマッチすれば文が実行されます。
while文は単純に条件がtrueならfalseになるまで実行し続けます。

ですので、条件は必ずいつかfalseになるようにしないと、無限ループに陥り最悪サーバーダウンをもたらします。

while文を使うときは、常に無限ループしないよう気を配る必要があります。

それでは1から100まで加算を行うプログラムを見てみましょう。

while文はif文と同じように、波括弧({})の代わりにコロン(:)を使って書くこともできます。

結果は下記のようになります。

while

処理の途中でループを抜けるにはキーワードbreakを使用します。

次の例では、ランダムに1-5の整数を取りますが、5が出たらbreakして処理から抜けます、もしくはループが10回続いたらループを終了しています。

5が出ない場合は10個の1から4までの数字が表示されます。
5が出たら、「5が出たので終了します」と表示され、そこでループから抜けます。その時、何回ループが実行されるかはわかりません。1回目で5が出たらそこで終わりです。

while文もネスト(入れ子)にすることが出来ます。

その時、ネストされたwhile文ではなく、その外のwhile文までループを抜ける場合は、

break 2;

と書き、今いる階層から2つ分ループを抜けると明示的に示してやる必要があります。

 

もうひとつ、キーワードcontinueを使うと、continue以下の処理は行わず、次のループへ移行します。

九九の計算で、7の段と7を掛ける箇所だけ計算しない方法は次のようになります。

もっとスマートに書く事ができますが、breakの例も交えて例を書いてみました。

1 x 1 = 1
1 x 2 = 2……
9 x 9 = 81

という計算がされ、7をかける部分は省略されています。

ちょっと複雑に書きましたが、上記の例をbreakを使わないで書くことも出来るので挑戦してみてください。

広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA