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文の使い方を忘れてしまったら、この記事を思い出してくださいね!