カテゴリ: PHP 更新日: 2025/05/29

PHP の配列をループ処理する方法(foreach の使い方)

PHP の配列をループ処理する方法(foreach の使い方)
PHP の配列をループ処理する方法(foreach の使い方)

新人と先輩の会話形式で理解しよう

新人

「PHPで配列のデータを順番に処理する方法はありますか?」

先輩

「PHPではループ処理を使うことで、配列のデータを1つずつ処理できますよ。」

新人

「ループ処理って何ですか?」

先輩

「ループとは、同じ処理を繰り返す仕組みのことです。では、基本から学んでいきましょう!」

-

1. ループ処理とは?

1. ループ処理とは?
1. ループ処理とは?

ループ処理とは、同じ処理を繰り返し実行する仕組みです。

例えば、「りんご」「バナナ」「みかん」のリストがあるとします。これを手動で1つずつ出力するのは面倒ですが、ループを使うと自動で処理できます。

ループの仕組み

ループ処理を使うと、次のようにデータを繰り返し表示できます。


$fruits = ["りんご", "バナナ", "みかん"];

foreach ($fruits as $fruit) {
    echo $fruit . "<br>";
}

このコードを実行すると、以下のように出力されます。


りんご
バナナ
みかん

このように、ループを使えばリスト内のデータを1つずつ処理できます。

2. PHP のループ処理の種類

2. PHP のループ処理の種類
2. PHP のループ処理の種類

PHP には複数のループ処理があります。それぞれの特徴を見ていきましょう。

for ループ

for ループは、繰り返す回数を指定して処理を実行できます。


for ($i = 0; $i < 5; $i++) {
    echo "これは " . ($i + 1) . " 回目の処理です。<br>";
}

実行結果:


これは 1 回目の処理です。
これは 2 回目の処理です。
これは 3 回目の処理です。
これは 4 回目の処理です。
これは 5 回目の処理です。

while ループ

while ループは、条件が満たされている間、処理を繰り返します。


$count = 0;
while ($count < 3) {
    echo "カウント: " . $count . "<br>";
    $count++;
}

実行結果:


カウント: 0
カウント: 1
カウント: 2

foreach ループ

foreach ループは、配列のデータを順番に処理するときに最も便利です。


$colors = ["赤", "青", "緑"];
foreach ($colors as $color) {
    echo $color . "<br>";
}

実行結果:


赤
青
緑

このように、foreach は配列のデータを簡単に処理できるので、PHP でよく使われるループです。

3. foreach ループの基本的な使い方(数値配列のループ処理)

3. foreach ループの基本的な使い方(数値配列のループ処理)
3. foreach ループの基本的な使い方(数値配列のループ処理)

foreach ループは、配列のすべての要素を順番に処理するときに便利なループです。

例えば、以下のような配列があるとします。


$numbers = [1, 2, 3, 4, 5];

foreach ($numbers as $number) {
    echo "数値: " . $number . "<br>";
}

実行結果:


数値: 1
数値: 2
数値: 3
数値: 4
数値: 5

このように、$numbers 配列の各要素が $number に代入され、順番に処理されます。

4. 連想配列を foreach でループ処理する方法

4. 連想配列を foreach でループ処理する方法
4. 連想配列を foreach でループ処理する方法

連想配列では、foreach を使って「キー」と「値」をセットで取得できます。

例えば、ユーザーの情報を持つ連想配列をループ処理する場合:


$user = [
    "名前" => "田中",
    "年齢" => 30,
    "職業" => "エンジニア"
];

foreach ($user as $key => $value) {
    echo $key . ": " . $value . "<br>";
}

実行結果:


名前: 田中
年齢: 30
職業: エンジニア

このように、キー(項目名)と値(データ)をそれぞれ取得し、画面に表示できます。

-

5. 多次元配列を foreach でループ処理する方法

5. 多次元配列を foreach でループ処理する方法
5. 多次元配列を foreach でループ処理する方法

多次元配列とは、配列の中に配列が入っている構造のことです。

例えば、以下のような配列を処理してみましょう。


$users = [
    ["名前" => "田中", "年齢" => 30, "職業" => "エンジニア"],
    ["名前" => "佐藤", "年齢" => 25, "職業" => "デザイナー"],
    ["名前" => "鈴木", "年齢" => 28, "職業" => "マーケター"]
];

foreach ($users as $user) {
    foreach ($user as $key => $value) {
        echo $key . ": " . $value . "<br>";
    }
    echo "<br>";
}

実行結果:


名前: 田中
年齢: 30
職業: エンジニア

名前: 佐藤
年齢: 25
職業: デザイナー

名前: 鈴木
年齢: 28
職業: マーケター

このように、foreach をネスト(入れ子)することで、多次元配列の各データを順番に取得できます。

6. foreach でループ処理中にキーや値を変更する方法

6. foreach でループ処理中にキーや値を変更する方法
6. foreach でループ処理中にキーや値を変更する方法

foreach を使うと、ループ中に値を変更できます。ただし、値を直接変更しても元の配列には影響しません。

値を変更する例

以下のコードでは、配列の要素に「さん」を追加して表示しています。


$names = ["田中", "佐藤", "鈴木"];

foreach ($names as $name) {
    $name .= "さん";
    echo $name . "<br>";
}

print_r($names);

実行結果:


田中さん
佐藤さん
鈴木さん
Array
(
    [0] => 田中
    [1] => 佐藤
    [2] => 鈴木
)

元の配列の値は変更されていないことが分かります。

元の配列も変更する方法

元の配列を変更するには、&(参照)を使います。


foreach ($names as &$name) {
    $name .= "さん";
}

print_r($names);

実行結果:


Array
(
    [0] => 田中さん
    [1] => 佐藤さん
    [2] => 鈴木さん
)

&$name にすることで、元の配列のデータを直接変更できます。

7. foreach のループ処理を応用した実践的な使い方(データ出力の自動化)

7. foreach のループ処理を応用した実践的な使い方(データ出力の自動化)
7. foreach のループ処理を応用した実践的な使い方(データ出力の自動化)

実際の開発では、データを自動でHTMLテーブルとして表示することがよくあります。

配列のデータをHTMLテーブルに変換


$users = [
    ["名前" => "田中", "年齢" => 30, "職業" => "エンジニア"],
    ["名前" => "佐藤", "年齢" => 25, "職業" => "デザイナー"],
    ["名前" => "鈴木", "年齢" => 28, "職業" => "マーケター"]
];

echo "<table border='1'>";
echo "<tr><th>名前</th><th>年齢</th><th>職業</th></tr>";

foreach ($users as $user) {
    echo "<tr>";
    foreach ($user as $value) {
        echo "<td>" . $value . "</td>";
    }
    echo "</tr>";
}

echo "</table>";

実行結果:


<table border='1'>
    <tr><th>名前</th><th>年齢</th><th>職業</th></tr>
    <tr><td>田中</td><td>30</td><td>エンジニア</td></tr>
    <tr><td>佐藤</td><td>25</td><td>デザイナー</td></tr>
    <tr><td>鈴木</td><td>28</td><td>マーケター</td></tr>
</table>

このように、配列のデータを使って自動でHTMLテーブルを作成できます。

8. PHP の foreach を学ぶためのおすすめの方法(オンラインリソースや学習サイト)

8. PHP の foreach を学ぶためのおすすめの方法(オンラインリソースや学習サイト)
8. PHP の foreach を学ぶためのおすすめの方法(オンラインリソースや学習サイト)

PHP の foreach をより深く学ぶために、以下のリソースを活用しましょう。

公式ドキュメント

PHP の公式ドキュメントは、最新の情報がまとまっているのでおすすめです。

学習サイト

初心者向けの学習サイトもあります。

実際にコードを書いて学ぶ

学習を進めるには、実際にコードを書いて試すのが一番です。

PHP はローカル環境だけでなく、オンラインの実行環境 でも試すことができます。

学習のポイント:

  • 配列を作成して、foreach で繰り返し処理をしてみる
  • 連想配列を使って、キーと値を取り出す練習をする
  • 多次元配列を foreach で処理するコードを書いてみる
  • HTML テーブルを自動生成するコードを試してみる

これらを実践することで、foreach の使い方をしっかりと習得できます。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
Pythonの条件式でNoneを判定する方法!is None vs == None の違い
Pythonのpass文とは?一時的なコードブロックをスキップする方法
人気記事
No.1
Java&Spring記事人気No1
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.2
Java&Spring記事人気No2
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
No.3
Java&Spring記事人気No3
PHPとは?初心者向けにわかりやすく解説
No.4
Java&Spring記事人気No4
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
-