こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、12年目エンジニアです。
この記事では、 PHPで配列の要素数分繰り返し処理ができるforeach文について
- foreach文とは
- foreach文を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows11 |
---|---|
PHPのバージョン | 8.2.4 |
XAMPPのバージョン | 8.2.4 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
foreach文とは
foreach文は、配列の要素を順番に1つずつ取り出して処理を行うことができます。
繰り返し処理は、要素数分行われます。
for文については、こちらの記事をご参考ください。
foreach文は使い方が
- パターン1:値のみの場合
- パターン2:キーと値の場合
の合計2パターンあります。
それぞれ解説します。
パターン1:値のみの場合
使い方サンプルは以下です。
1 2 3 4 |
$sample = ['aaa', 'bbb', 'ccc']; foreach($sample as $var) { // 繰り返し行いたい処理 } |
foreach文内の意味は以下になります。
1 2 3 |
foreach(【繰り返しを行いたい配列】 as 【要素の値を格納する変数】) { // 繰り返し行いたい処理 } |
【要素の値を格納する変数】とは、配列から取り出した要素の値を格納してforeach文内で扱うために宣言するものです。
先ほどの
1 2 3 4 |
$sample = ['aaa', 'bbb', 'ccc']; foreach($sample as $var) { // 繰り返し行いたい処理 } |
だと変数varには
繰り返し1回目 | aaa |
---|---|
繰り返し2回目 | bbb |
繰り返し3回目 | ccc |
という順番で値が格納されます。
パターン2:キーと値の場合
パターン1と違う箇所は、キーを扱うことができる点です。
使い方サンプルは以下です。
1 2 3 4 |
$sample = ['A' => 'aaa', 'B' => 'bbb', 'C' => 'ccc']; foreach($sample as $key => $var) { // 繰り返し行いたい処理 } |
foreach文内の意味は以下になります。
1 2 3 |
foreach(【繰り返しを行いたい配列】 as 【要素のキーを格納する変数】 => 【要素の値を格納する変数】) { // 繰り返し行いたい処理 } |
パターン1とほぼ同じですが、【要素のキーを格納する変数】が増えています。
この変数は、配列から取り出した要素のキーを格納してforeach文内で扱うために宣言するものです。
連想配列でないただの配列の場合、インデックスが格納されます。
先ほど
1 2 3 4 |
$sample = ['A' => 'aaa', 'B' => 'bbb', 'C' => 'ccc']; foreach($sample as $key => $var) { // 繰り返し行いたい処理 } |
だと変数keyとvarは
繰り返し1回目
|
|
---|---|
繰り返し2回目
|
|
繰り返し3回目
|
|
という順番でそれぞれキーと値が格納されます。
では、次の章で実際に使ってみます。
foreach文を解説するプログラムの概要
foreach文を解説するプログラムでは
- 値のみの場合
- キーと値の場合
の2パターンでforeach文で判定し、結果を表示させます。
phpプログラムは
C:\xampp\htdocs
配下に、【sample.php】というファイル名で格納しています。
PHPサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php print('■foreach文サンプル<br >'); $fruits = array( 'apple' => 'リンゴ', 'orange' => 'オレンジ', 'banana' => 'バナナ' ); print('・値のみの場合<br >'); foreach($fruits as $var) { print($var.'<br />'); } print('<br />'); print('・キーと値の場合<br >'); foreach($fruits as $key => $val) { print($key.'=>'.$val.'<br />'); } print('<br />'); ?> |
実行結果
XAMPPを起動して、【http://localhost/sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
配列の要素数分繰り返し処理ができていることが確認できました。
まとめ:foreach文を使ってみよう!
以上がforeach文についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント