
【6日でできるPHP入門】foreach文
PHPでは配列を扱う際、for
やwhile
といったループ文を使って値を一つずつ処理することが一般的ですが、連想配列や要素数が不定な配列にはforeach
文がとても便利です。
foreach
文は配列の全要素を順番に簡単に取り出して処理できるループ文で、PHPらしい記述としてよく利用されます。この記事では、foreach
文の基本的な使い方から応用例まで、具体的なサンプルと一緒に解説します。

1.foreach文の基本
1.1. 基本的な書式と動作
書式例 | 説明 |
---|---|
foreach ($配列 as $値) { 処理 } | 配列の値のみを順番に取得 |
foreach ($配列 as $キー => $値) { 処理 } | キーと値を両方順番に取得 |
サンプル:値だけを取得する
ファイル名: lesson40_1.php
<?php
$animals = ["犬", "猫", "サル"];
foreach ($animals as $value) {
echo $value . "<br>";
}
?>
出力結果

1.2. キーと値を同時に取得する
サンプル:キーと値を取得
ファイル名: lesson40_2.php
<?php
$colors = ["red"=>"赤", "blue"=>"青", "yellow"=>"黄"];
foreach ($colors as $key => $value) {
echo "{$key}の色は{$value}です<br>";
}
?>
出力結果

2.foreach文の活用
2.1. 連想配列への適用
foreach
文は、特に連想配列の全要素を扱うときに効果的です。
for文などでは添字の範囲やキーの管理が難しい連想配列でも、foreach文なら自動で全要素にアクセスできます。
サンプル:連想配列への適用
ファイル名: lesson40_3.php
<?php
$user = ["name"=>"佐藤", "age"=>28, "city"=>"福岡"];
foreach ($user as $key => $value) {
echo "{$key}:{$value}<br>";
}
?>
出力結果

2.2. 添字配列でも使える
実は、添字配列でもforeach文は利用可能です。
キーが自動で0から順に割り当てられます。
サンプル:添字配列で使う
ファイル名: lesson40_4.php
<?php
$fruits = ["みかん", "りんご", "ぶどう"];
foreach ($fruits as $index => $name) {
echo "{$index}番目は{$name}<br>";
}
?>
出力結果

3.foreach文の注意点とテクニック
- foreach文は配列以外には使えません(配列以外だとエラー)
- ループ内で値を書き換えるときは「参照渡し」に注意
(※「&」を付けると元の配列を直接変更できる)
サンプル:参照による値の変更
ファイル名: lesson40_5.php
<?php
$nums = [1, 2, 3];
foreach ($nums as &$value) {
$value *= 10;
}
print_r($nums);
?>
出力結果

まとめ
- foreach文は配列の全要素を簡単に処理できる便利なループ文
- 連想配列でも添字配列でも使える。
- キーと値を同時に取り出して扱うことができる。
- 配列処理の必須テクニックなので、積極的に使っていきましょう!