【PHP入門】foreach文の基本を初心者向けに解説

PHPのforeach文の使い方が知りたい
foreach文で連想配列のキーと値を1つずつ取得したい

PHPでは、配列のキーや値を1つずつ簡単に取得することができるforeach文が用意されています。

この記事ではforeach文について、以下の内容で解説していきます。

  • foreach文の基本的な使い方
  • foreach文の途中で処理をスキップ、終了する方法

foreach文の基本から応用的な使い方までわかりやすく解説していますので、ぜひ参考にしてください。

※この記事ではPHPの「Version 7.1.1」で動作確認しました。

前提知識:PHPのforeach文

foreach文とは

foreach文は配列の繰り返し処理を行う場合に使用します。foreach文を使用すると、配列の要素分繰り返し処理が実行されます。

1次元配列は以下のように記述します。

foreach ($配列 as $value){
  処理
  …
}

連想配列のキーと値を指定する場合は、以下のように記述します。

foreach ($配列 as $key => $value){
  処理
  …
}

foreach文は繰り返し処理において、現在の配列の要素が$keyと$valueに代入されます。

foreach文を実行してみよう

では実際に「array.php」ファイルを作成して、foreach文を実行してみましょう。

以下の例では配列$fruitsをforeach文で配列の要素を一つずつ取得しています。


array.phpをブラウザで実行すると、以下のように表示されます。

apple
orange
melon
banana
pineapple

このように配列の要素順に繰り返し処理が行われることがわかりますね。

foreach文の基本

続けて連想配列のキーと値をforeach文で順番に取得する方法を紹介します。


実行結果:

item1の値は「apple」です。
item2の値は「orange」です。
item3の値は「melon」です。
item4の値は「banana」です。
item5の値は「pineapple」です。

連想配列の場合は「foreach($配列名 as $key => $value)」とすることで、キーと値が順番に取得されます。

以下のように指定した要素が存在したら、分岐処理に入るような処理もよく使われます。


実行結果:

1番目の値は「apple」です。
2番目の値は「orange」です。
3番目の「melon」だけは特別です。
4番目の値は「banana」です。
5番目の値は「pineapple」です。

continueとbreak

ここでは繰り返し処理のなかでループをスキップするcontinueと、ループを終了するbreakについて解説します。

continue

continueはforeach文の繰り返し処理を途中でスキップして次の繰り返し処理から始める場合に使用します。

以下のサンプルでは配列の要素が空だったら処理をスキップしています。


実行結果:

apple
orange
banana
pineapple

continueの詳しい使い方については、以下の記事でも詳しく解説しています!

break

繰り返しの途中でループ処理を終了したい場合はbreakを使用します。

以下の処理では配列の要素が空だったら処理を終了しています。


実行結果:

apple
orange

breakの詳しい使い方については、以下の記事でも詳しく解説しています!

PHPについてもっと知りたい方へ

配列はforeachを使用すれば、簡単に配列の要素を取得できることがわかりましたね!


PHPについて実はいまいちわかっていない…
もっとPHPについて詳しく知りたい!

と思っている方は以下の記事も参考にしてみてください。

まとめ

ここではforeach文の、

  • 基本的な使い方
  • ループの途中で処理をスキップ、終了する方法
  • 配列の要素を削除する方法
  • 配列の最後の要素を取得する方法
  • end関数を指定して配列の最後を取得する方法
  • 文字列の最後のカンマを削除する方法
  • 配列の最後の要素を削除する方法

などについて解説しました。foreachなどの繰り返し処理で、配列を操作するといった処理は使用頻度が高いと言えますので、この機会にぜひ覚えておきましょう。

もし、foreach文の使い方を忘れてしまったら、この記事を思い出してくださいね!

プログラミング学習を効率良く進めたいなら…

学習を始めたけどエラーが解決できない
作りたいものはあるけど、何から始めればいいかわからない
プログラミングに対して、このような悩みを持っている方も多いですよね。

そんな方には、弊社が運営するサブスク型のプログラミングスクール「SAMURAI ENGINEER Plus+がおすすめです。



月額2980円(税別)で、主に4つのサービスを提供させていただきます。

  • 現役エンジニアによる月1度の「マンツーマン指導」
  • 平均回答時間30分の「Q&Aサービス」
  • 作りながら学べる28種類の「教材」
  • 学習を記録&仲間と共有できる「学習ログ」

目的にあった教材を選べば、どなたでも効率よく学習できるほか、Q&Aサービスやマンツーマン指導を活用することで、挫折せずにプログラミングの習得が可能です。

プログラミングを効率的に学びたい人はもちろん、何から始めたらよいのかわからない方は、ぜひ「SAMURAI ENGINEER Plus+」をご利用ください。
まずは30日無料体験

書いた人

侍テック編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら