前の記事では、
条件分岐(if / elseif / switch) を使って
処理を分ける方法を学びました。
しかし実際のWeb開発では、
・同じ処理を何度も行いたい
・配列の中身を順番に処理したい
といった場面が頻繁に出てきます。
そのようなときに使うのが、
繰り返し処理(ループ) です。
この記事では、
PHPで最もよく使われる
for と foreach を中心に、
実際に動くコードで理解していきます。
この記事で学べること
・繰り返し処理とは何か
・for 文の基本構造
・foreach 文の使い方
・for と foreach の使い分け
繰り返し処理とは何か
繰り返し処理とは、
同じ処理を条件が満たされるまで繰り返す仕組み です。
例えば、
・1〜10まで表示する
・配列の中身をすべて表示する
といった処理を、
短いコードで書けるようになります。
for 文の基本的な考え方
for 文は、
回数が決まっている繰り返し に向いています。
構造は次の3つで成り立っています。
-
初期値
-
繰り返す条件
-
1回ごとの増減
for 文の基本構文
サンプルコード①:for 文の基本
コードの読み解き
・$i = 1
→ カウンターの初期値
・$i <= 5
→ 繰り返す条件
・$i++
→ 1回ごとに +1
結果として、
1〜5 が順番に表示されます。
for 文は「回数で考える」
for 文を書くときは、
次のように考えると分かりやすくなります。
「この処理は、何回繰り返すか?」
回数が明確な場合は、
for 文が最適です。
配列と for 文(考え方だけ)
配列の要素数が分かっている場合、
for 文で処理することもできます。
ただし、
PHPではこの用途には
foreach の方が一般的 です。
foreach 文とは何か
foreach は、
配列の中身を1つずつ取り出すための繰り返し処理 です。
PHPでは、
配列処理のほとんどが
foreach で書かれます。
foreach の基本構文
サンプルコード②:foreach の基本
コードの読み解き
・$colors
→ 対象となる配列
・$color
→ 配列から1つずつ取り出した値
配列の要素数を意識しなくても、
自動で最後まで処理されます。
配列処理は foreach が基本
PHPでは、
・配列の中身を表示する
・配列の値をチェックする
・配列を加工する
といった処理は、
ほぼ foreach で書かれます。
for 文よりも
安全で読みやすい のが理由です。
キーと値を同時に使う foreach
配列によっては、
「番号」や「名前」などの
キー を使いたい場合があります。
サンプルコード③:キー付き foreach
実務での使いどころ
・連想配列の中身を表示
・設定値を一覧表示
・フォームエラーの表示
などで、
非常によく使われます。
for と foreach の使い分け
目安は次の通りです。
・回数が決まっている
→ for
・配列を処理したい
→ foreach
無理に統一せず、
意図が伝わる方 を選びましょう。
初心者がよくやるミス
繰り返し処理で多いミスです。
・条件が間違って無限ループ
・配列なのに for で無理に処理する
・foreach の変数名が分かりにくい
「何を繰り返しているか」
が分かる変数名を付けることが大切です。
学習初期のおすすめ練習
次のような処理を書いてみると、
理解が一気に深まります。
・1〜10を表示する
・配列の中身をすべて表示する
・配列の値を条件分岐と組み合わせる
条件分岐と組み合わせることで、
実務に近づきます。
まとめ
この記事では、
PHPの繰り返し処理として、
・for 文
・foreach 文
の基本を学びました。
繰り返し処理が書けるようになると、
配列・フォーム・データ処理 が
一気に楽になります。
次は、
配列そのものをもう一段深く理解していきます。
次に読むべき記事
▶ 次の記事
6-7 PHPで配列を扱う基本



コメント