【PHP入門】foreach asで繰り返し処理をする方法を解説

・PHPのforeach asで繰り返し処理を行う方法がいまいちわからない。
・連想配列の場合はどうやって記述するの?
・break構文やcontinue構文って何?

PHPでは、foreach構文を繰り返し処理のために使うことができますが、どうやって実装すればいいかわからない人も多いでしょう。

そこでこの記事では、PHPのforeach asで繰り返し処理をする方法について徹底解説します。

この記事を読めば、PHPでどうやってforeachを使うのか、またbreak構文やcontinue構文の使い方も理解することができるでしょう。

PHPの繰り返し処理につまずいている、foreach構文の使い方がよくわからない人は、ぜひ最後までご覧ください。

foreach構文とは?

foreach構文とは、ループ処理を行うための構文です。

例えば、配列の要素のある分だけ繰り返し処理を行うことができます。

PHPでは繰り返し処理を行う構文として、foreachの他にもforwhileなどの構文もあります。

これらはすべて繰り返し処理を行う構文ですが、中でもforeachは配列の繰り返し処理を行うことができます

foreach構文の使い方

foreach構文の使い方は2つあります。

1つは普通の配列である一次元配列と、もう1つは連想配列です。

一次元配列では、foreachに「$array as $value」とすることで、配列の中の要素を繰り返し処理することができます。

そして、連想配列では、foreachに「$array as $key => $value」とすることで配列の要素を処理します。

ここでの$keyは「りんご、バナナ、ぶどう」にあたり、$valueは「apple、banana、grape」にあたります。

では、ここから実際にコードを使って書き方を学んでいきましょう。

foreachの基本的な使い方

まずは、foreachの基本的な使い方、一次元配列での処理方法について解説していきます。

先ほどの使い方を元に、配列を作って繰り返し処理をしていきましょう。

今回は、「$fruits」という配列の中に「apple, banana, orange, strawberry, pineapple」という要素を入れます。

そしてforeach文では、「$fruits as $value」で配列fruitsの中にある値(要素)を1つずつ順番に取り出します。

foreachの処理の部分は、「echo $value」と指定して、取り出した要素を順番に表示します。

※brは表示した要素を改行して、縦に並べるために指定しています。(brを指定しなかった場合は要素が横に並びます)

結果を表示すると、次のようになるでしょう。

配列の中身が順番に表示されていますね。

このように、foreachを使って配列の要素を繰り返し処理することができるのです。

連想配列でのforeachの使い方

次は、連想配列でのforeachの使い方について見ていきましょう。

これもまた、先ほどの書き方を元に、連想配列を作って繰り返し処理をしていきましょう。

今回は、「$test_score」という連想配列を作り、科目と点数を「英語=>86、数学=>90、国語=>73」というように入れていきます。

そして、foreach文では「$test_score as $subject => $score」として、配列の中にある要素を順番に取り出します。

ここでの「$subject」keyを表し、「$score」valueを表します。

foreachの処理の部分は、「echo $subject.”の点数は”.$score.”点です。”」というように指定して科目の点数を表示できるように設定します。

※文字列を連結する場合は、ドット(.)で繋ぎます。

結果を表示すると次のようになるでしょう。

配列の中身が1つずつ順番に表示されていますね。

このように、foreachは連想配列の繰り返し処理を行うこともできます。

一次元配列と連想配列の両方の処理を使えるように、使い方を覚えておきましょう。

break構文の使い方

foreach構文では、break構文を使うことができます。

break構文とは、繰り返し処理を途中で中断するための構文です。

例えば、条件分岐を用いて「もし〜であれば処理を中断する」というようにすることができます。

実際のコードで書き方を見ていきましょう。

数字の「1, 2, 3, 4, 5」が入った配列「$array」を用意します。

そして、foreachで「$array as $value」とし、配列の中身を順に取得します。

foreachの中の処理は「echo $value」と指定して、配列の要素を表示するように指定しています。

その後に、if文を使って、「もし取り出した要素が3の場合、処理を中止する」という条件分岐を作成しましょう。

if文を「$value === 3」として、処理を「echo “終了”」とした後に、「break」を記述します。

このbreakを記述した時点で、繰り返し処理は中止されるようになります。

結果を表示して見てみましょう。

「1, 2, 3, 終了」と表示され、3の後に繰り返し処理が中止されているのがわかりますね。

このように、foreachの中でbreak構文を使えば、処理を途中で中止することができます。

continue構文の使い方

foreach構文では、break構文の他にcontinue構文があります。

continue構文とは、繰り返しの途中で処理をスキップすることができる構文です。

例えば、条件分岐で「もし〇〇という要素が取り出されたスキップする」というようにすることができます。

※break構文では処理が中止されていましたが、continue構文ではスキップされるだけで処理は継続されます。

実際のコードで書き方を見ていきましょう。

break構文の時と同じように、「1, 2, 3, 4, 5」が入った配列「$array」を用意します。

そして、foreachで「$array as $value」とし、配列の要素を順に取得します。

foreachの中は、「3が取得されたらスキップする」という処理を行うために、if文で「$value === 3」と条件分岐を作り、「continue」と指定します。

if文の後、「echo $value」で配列の中身を表示しましょう。

結果を表示すると、次のようになります。

結果は「1, 2, 4, 5」となり、「3」だけがスキップされていますね。

このように、continue構文を使うと、指定した要素をスキップして繰り返し処理を行うことができます。

foreach構文を学習する際は、break構文やcontinue構文の使い方も理解しておくといいでしょう。

まとめ

今回は、PHPのforeach構文の使い方について徹底的に解説しました。

foreachはPHPで配列の繰り返し処理をする際に役立つ構文です。

普通の配列だけでなく、連想配列の繰り返し処理も行うことができるので、とても便利です。

また、break構文やcontinue構文を使うことで、指定の場所で処理を終了させたり、スキップしたりすることもできます。

なので、使い方を覚えておくといいでしょう。

この記事がPHPの学習に役立つと幸いです。

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?