繰り返し(ループ)
繰り返しを用いると、ある回数、同じ処理を行うことができます。例えば『10回何かを行う』であったり、『ショッピングカードに入っている品物の回数だけ何かを行う』といった事が可能です。PHPでは、繰り返しの時に使うキーワードとして以下の3種類が用意されており、状況に応じて使い分けます。
- for:回数を指定して繰り返す事に向いている
- foreach:配列の要素数だけ、繰り返す事に向いている
- while:ある条件に合致する間、何かを繰り返す時に使用する
(例:10回何かを行う)
(例:配列に入っている品物の数だけ、何かを行う)
(例:当たりが出るまで、抽選を繰り返す)
forループ
まず、forループに関して説明します。forを使ったループは、回数を指定して繰り返す時に最適です。次のように、括弧の中にセミコロンで区切った3つのエリアを記述します。
for ( カウンター初期化処理 ; 継続条件; カウントアップ処理 ){ 繰り返したい処理 }
一見難しそうですが、forループは決まりきった書き方をすることがほとんどです。サンプルソースの「for.php」をメモ帳などで開いてください。
<html> <h2>for ループの例</h2> <body> <?php for( $i = 0; $i < 5; $i++ ){ print("こんにちは。( $i 回目 )<br>"); } ?> </body> </html>
このプログラムは5回、「こんにちは。
」というメッセージを表示します。「$i
」の部分は任意の変数名で、「$j
」などでも構いません。
このプログラムを『人間が指を立てながら5回「こんにちは」を唱える』と置き換えてみてください。立っている指は、はじめは0本です。これが「$i = 0
」に対応します。指が5本立つまで唱え続けます。これが「$i < 5
」に対応します。「こんにちは」を1回言う度に指を1本立てます。これが「$i++
」に対応します。「++
」は、変数「$i
」の中の数字を1つ分カウントアップさせるための命令です。
では、サンプルプログラムを実行してみましょう。http://localhost/codezine4/for.phpにアクセスしてください。また、ソースの表示も行ってみましょう。
次に、「for( $i = 0; $i < 5; $i++ )
」の部分を「for( $i = 0; $i < 10; $i++ )
」に書き換え、もう一度アクセスしてみます。10回表示されるはずです。