foreachループ

PHPの制御構造の一つである「foreachループ」は、配列やオブジェクトの要素を繰り返し処理するための構文です。主に配列の各要素に対して順番に処理を行いたい場合に使用され、forループよりも簡潔に書けるのが特徴です。


基本構文(配列に対して)

php
foreach ($配列 as $値) { // 各要素に対する処理 }

この構文では、配列の各要素を順番に取り出して、変数 $値 に代入しながらループ処理を行います。

php
$fruits = ["apple", "banana", "orange"]; foreach ($fruits as $fruit) { echo $fruit . "\n"; }

このコードは、$fruits 配列の要素を1つずつ取り出して表示します。


キーと値の両方を取得する構文

php
foreach ($配列 as $キー => $値) { // キーと値に対する処理 }

この構文では、連想配列やキーが必要な場合に使用します。

php
$prices = ["apple" => 100, "banana" => 80, "orange" => 90]; foreach ($prices as $fruit => $price) { echo "$fruit$price 円です\n"; }

オブジェクトに対して

foreachはオブジェクトにも使用可能です。ただし、プロパティがpublicである必要があります。

php
class Person { public $name = "Taro"; public $age = 25; } $person = new Person(); foreach ($person as $property => $value) { echo "$property: $value\n"; }

注意点

  • foreach元の配列を変更せずに処理するのが基本ですが、参照を使えば変更可能です。

php
foreach ($array as &$value) { $value = strtoupper($value); }

※参照を使用した後は変数の扱いに注意してください。ループ後に予期しない副作用を招く可能性があります。


まとめ

  • foreachは配列やオブジェクトの要素を簡潔に反復処理できる。

  • キー => 値の形式で使えば、連想配列の処理も可能。

  • 参照を使えば配列の内容を直接変更することもできる。


他のループ構文(forやwhile)と比べて、配列の処理に特化しており、コードが読みやすくなる点が大きな利点です。

生成日:2025/05/03