記載されている内容は2019年04月10日時点のものです。現在の情報と異なる可能性がありますので、ご了承ください。記事に記載されている情報は自己責任でご活用いただき、本記事の内容に関する事項については、専門家等に相談するようにしてください。PHPにもループ処理があります。ループ処理は繰り返したい処理をスマートにすっきりと書くことができる便利な制御構文です。PHPには繰り返し構文がいくつかあり、用途によって使い分けます。for文、while文、foreach文の3つの構文を紹介します。Photoループ処理とは制御構文のうち、繰り返しを行う処理のことですプログラムを作成する際に、一連の処理を繰り返して行いたい場合が多くあります。そんな時に同じ処理を何回も書いているとプログラマーにとってもシステムにとっても負担がかかります。数回の繰り返しならともかく、同じ処理を10000回以上行う処理を、直に書くのは現実的ではありません。そんな時にループ処理を使うと繰り返したい処理の記述は一度だけで済みます。PHPの繰り返し処理にはいくつかあり、用途によって使い分けることができます。次から種類別にPHPでのループ処理の使い方を解説していきます。前の章で述べた通り、PHPのループ処理にはいくつか種類があります。繰り返す回数が決まっているときに便利なfor文、繰り返す条件を自由に設定できるwhile文、配列に特化してループ処理を行うforeach文について解説します。繰り返し回数をはじめから設定するfor文PHPのfor文は繰り返し回数を設定することができるループ処理です。そのループ、ループごとの繰り返し回数に応じた処理も行うことができます。増減式){【繰り返したい処理】}PHPのfor文では繰り返しをループさせるときのドライブ役として、カウンタ変数を設定します。カウンタ変数を初期化式で初期値を決めます。増減式でループが一回回るごとにカウンタ変数を変化させる式を定義します。増減式によりカウンタ変数が変化していき、条件式で設定したカウンタ変数の条件に合わなくなったときにループ処理を抜けるという仕組みになっています。具体的な例を見てみましょう。以下の例は1から1000までの整数の合計値を出し、画面に出力するコードです。結果の出力?>出力結果1〜1000の整数の合計値は500500上の例ではカウンタ変数$iを初期化式「$i=1」で1に初期化しています。増減式「$i++」でループの終わりに$iをプラス1しています。条件式「$i<=1000」はループを継続する条件です。1ループが終わるたびに1が加算される$iはやがて1000になります。$i=1000のときのループの終わりに1が加算され、$i=1001となります。このとき、「$i<=1000」の条件から外れるのでループ処理が終わりとなります。for文をネストするfor文のネストとはfor文の中でさらにfor文を書いていくことを言います。各ループの回数ごとにさらに繰り返し処理を書いていきます。以下は、かけ算九九の表を出力するプログラムです。81この例のポイントは、外側のループ処理と内側のループ処理でカウンタ変数は$iと$j、別のものとして定義することです。外側のループの$iは「段」の数字です。1の段から9の段までループが繰り返されます。内側のループの$jは九九の表の「列」の数字です。各段の数字ごとに1〜9まで$jが変化します。$j」、つまり、「格段の数字×1〜9の数字」の計算結果が出力され、その後スペースも出力されます。外側のループの終わりは、その「段」の終わりなので改行が出力されています。このようにfor文をネストすると複雑な処理もシンプルに書くことができます。条件を満たしているうちは繰り返し続けるwhile文PHPのwhile文は、設定した繰り返す条件を満たす間繰り返し続けることができます。構文while(ループ継続条件){【繰り返したい処理】}while文の()の中にループ処理を行う条件を記述します。以下の例を見てみましょう。結果の出力?>出力結果1〜1000の整数の合計値は500500PHPのwhile文でカウンタ変数を使用する場合はカウンタ変数をコードの中で初期化し、変数を変化させる処理を書く必要があります。while文の条件式にはカウンタ変数の条件を設定します。このように、決まった回数だけループを繰り返す処理も行うことができますが、while文では条件式を自由に設定することができるので、繰り返す回数が決まっていない場合にも使用することができます。while文をネストするfor文と同じようにwhile文はネストすることもできます。以下の例はfor文で扱ったかけ算九九のサンプルをPHPのwhile文でかいたものです。81配列専門でループ処理を行うforeach文PHPには配列に特化してループ処理を行うforeach文という処理もあります。仮変数){【繰り返したい処理】}PHPのforeach文は指定した配列の要素分処理を繰り返します。要素1つ分で一回のループ処理が行われ、その際の要素は仮変数に代入されます。以下の例を見てみましょう。配列$arrの各要素をforeach文で取り出し、画面に出力しています。$val."<br>";}?>出力結果applebananamelonまた、PHPの連想配列でforeach文を使う場合には以下の構文も便利です。仮変数2){【繰り返したい処理】}要素1つ分で一回のループ処理が行われ、その際の要素の値は仮変数2に代入されます。上の書き方をすると、便利なことにその要素のキーも仮変数1に代入してくれます。以下の例を見てみましょう。$key.":".$val."<br>";}?>出力結果apple:200banana:100melon:500foreach文をネストするfor文とwhile文と同様、PHPのforeach文もネストさせることができます。下記の例はfor文とwhile文でも扱った、かけ算九九の表を出力するプログラムです。配列$arr1と$arr2に1〜9までの整数が保存されており、その要素をforeach文で取り出して処理を行っています。81ループを終了・スキップさせる繰り返し処理とはいえ、ループを途中で終了させたり、ある条件のときだけ処理を行わないようにしたいときもあります。PHPの繰り返し処理にもループの強制終了とスキップの処理が用意されています。ループの途中で処理を終了するbreak構文break;ループの途中で強制的に処理を終了します。以下の例は、for文を使って1から10の整数を順番に出力する例ですが、if文とbreak文を用いてループを強制的に終了させ、6から先を出力させていません。$i."<br>";}?>実行結果12345終了しますループの途中で処理をスキップするcontinue構文continue;ある回数のループのみ、continue文以降の処理をスキップします。以下の例は、for文を使って1から10の整数を順番に出力する例ですが、if文とcontinue文を用いてループをスキップしています。整数6のみ出力させていません。$i."<br>";}?>出力結果12345スキップします78910まとめいかがでしたでしょうか。PHPのループ処理、for文、while文、foreach文をご紹介しました。用途によって使い分けることができ、繰り返し処理をスッキリと書くことができることがお分かりいただけたかと思います。PHPでループ処理を使いこなして、繰り返し処理をスマートに効率よく記述してくださいね。file.2:営業マンとして活躍し、海外留学。file.4:独学よりもスクールで。他人と同じことはしない。