PHPのforeach文を使って配列をループさせる方法

PHPに限らず、プログラミング言語にはfor分やwhile文ループ処理をさせることが出来ます。

ですが、PHPにはforeach文を使うことができ、配列に対してはforeach文を使うことでループ処理をしやすくなります。

この記事ではPHPでforeach文の使い方について解説していきます。

目次

foreachとは

foreachとは、配列をループさせるのに便利な方法で、配列の要素の数だけループを繰り返してくれます。

単純な配列だけでなく、連想配列もforeach文でループをさせることが出来ます。

PHPで作られているWordPressでもこのforeach文を使う機会はかなり多いので、ちゃんと使いこなせるようになりましょう。

for文で配列をループさせる

foreach文との比較をするために、まずはfor文で配列をループさせてみましょう。

for文の構文は下記の通りです。

<?php
for(初期値; 繰り返し条件; 増減) {
   // 繰り返したい処理
}

for文では、「初期値」「繰り返し条件」「増減」を指定する必要があります。

今回は配列を用意して、その配列を順番に繰り返し表示させるだけの簡単なループ処理を実装していきましょう。

<?php

$arr = ["windows", "macOS", "Linux", "Android", "iOS"];

for($i = 0; $i < 5; $i++) {
  echo $arr[$i] . "<br>";
}

$arrという配列を用意して、for文で順番に$arrの値をechoで出力しています。

$i0から5未満つまり4まで(0~4)を繰り返すように初期値、繰り返し条件、増減を指定しています。

$iをインデックス番号とすることで$arr[$i]で配列の値を取り出すことができます。

繰り返し条件では配列の数である5を指定していますが、count関数を使うことでも表現することができます。

<?php

$arr = ["windows", "macOS", "Linux", "Android", "iOS"];

for($i = 0; $i < count($arr); $i++) {
  echo $arr[$i] . "<br>";
}

count関数は引数に配列を指定することで、配列の要素数を取得することが出来ます。

こうすることで配列の要素数が変わっても、対応することができます。

for文でも配列をループさせることはできますが、初期値や条件を指定する必要があります。
また、連想配列の場合はfor文でどのようにループさせれば良いでしょう?

そういった時に使えるのが、foreach文です。

foreach文で配列をループさせる

それでは、本題であるforeach文で配列をループさせていきましょう。

配列

foreach文で配列を扱う際の構文は下記の通りです。

foreach(配列 as 値) {
  // 繰り返し処理
}

foreach文の()の中で繰り返し処理を行いたい配列を指定して、asの後に指定した変数に配列の中身の値が順番に渡すことが出来ます。

for文で行った処理を今度はforeach文を使って、実装してみましょう。

<?php

$arr = ["windows", "macOS", "Linux", "Android", "iOS"];

foreach($arr as $value) {
  echo $value . "<br>";
}

foreach文を使うことで初期値や繰り返し条件を指定する必要がなく、for文を使った時よりもコードがかなりスッキリしましたね。

連想配列

最後に連想配列に対して、foreach文を使用してループ処理を行ってみましょう。

foreach文で連想配列を扱う際の構文は下記の通りです。

foreach(配列 as キー => 値) {
  // 繰り返し処理
}

asの値の後でキー => 値という形式で指定することで、配列のキーと値を順番に渡すことが出来るようになります。

<?php

$arr = [
  'PHP' => 'Laravel',
  'Ruby' => 'Ruby on Rails',
  'JavaScript' => 'Vue.js',
];

foreach($arr as $key => $value) {
  echo $key . "のFWは" . $value . "です。<br>";
}

$keyには$arrのキーが、$valueには$arrの値が渡されて、順番に全ての要素を取得できました。
連想配列で繰り返し処理が行えているのが、確認できます。

まとめ

PHPで配列を繰り返し処理をする際には、for文やwhile文を使うことより、foreachを使う場面の多いでしょう。

ぜひ、使いこなせるようになっておきましょう。

プログラミングスクールをお探しの方はこちら

フリーランス案件をお探しの方はこちら

エンジニア転職サイトをお探しの方はこちら

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次