【PHP基礎】foreachの書き方・使い方を解説!

今回はweb開発でよく使われるforeachについて解説したいと思います。

foreach??どのような使い方をするの??

そのような疑問に図や具体例を使ってわかりやすく解説していきます!

ソースコードはコピペして試すことも出来ますので、

是非参考にしてみてください!!

foreachとは??

foreachとは、

データを取り出して繰り返し処理を行うものです。

上の図のように3つの値の入ったデータを扱うと3回処理が繰り返されます。

扱うデータに入っている数だけループして処理が行われます。

例えば、図のように3つ値が入った配列のなかの値を順番に取り出して出力したり、

何か他のものと組み合わせて一緒に繰り返し処理をすることが出来ます。

また、foreachで扱うデータは配列とオブジェクトに限ります!

PHP公式ドキュメント foreachについて

foreachの書き方

さっそく書き方を見ていきましょう!

foreach (データ as データをforeachで扱う変数に格納) {
	繰り返し行う処理;
}

( )カッコのなかで対象データを宣言してforeachのなかで扱う変数に格納して

繰り返し行う処理を書いていきます。

イメージしにくいので実際に先ほどのフルーツの配列を使って書いてみましょう。

配列をforeachで出力する

$fruits = ['apple', 'banana', 'melon'];

foreach ($fruits as $fruit) {
	echo $value."\n";
}

扱うデータ$fruitsをforeachのなかの変数$fruitとして、

{ } 波カッコの繰り返し処理でechoしています。

処理のなかでは分かりやすくするため “\n” 改行を加えています。

処理結果は配列の中の値が出力されます。

apple
banana
melon

連想配列をforeachしてみる

つぎは連想配列をforeachしてみたいと思います。

(連想配列については別の記事で詳しく解説しています)

連想配列でキーと値をそれぞれ出力する場合、

このような書き方をします。

foreach ($連想配列名 as $キー => $値) {
	 出力する内容  
}

具体例で先ほどのフルーツを使って書いてみると、

$fruits = [
          '赤'=>'apple',
          '黄'=>'banana',
          '緑'=>'melon'
          ];

foreach ($fruits as $key => $value) {
	echo $key." ".$value."\n";
}

実際の出力結果は、このようになります。

赤 apple
黄 banana
緑 melon

多次元配列をforeachしてみる

続いて多次元配列の配列をforeachで出力したいと思います。

今回は2次元の配列を例とします。

$fruits = [
    ['リンゴ', 'apple','赤'],
    ['バナナ', 'banana','黄'],
    ['メロン', 'melon','緑'],
];

foreach ($fruits as $fruit => $value) {
  echo $fruit.' '.$value[0].' '.$value[1].' '.$value[2]."\n";
}

出力結果はこのようになります。

0 リンゴ apple 赤
1 バナナ banana 黄
2 メロン melon 緑

多次元の連想配列をforeach

続いて、多次元の連想配列をforeachを使って出力してみます。

今回は2次元の連想配列を扱います。

$fruits = [
    'apple' => [
        'id' => 1,
        'color' => '赤',
        'price' => 100
    ],
    'banana' => [
        'id' => 2,
        'color' => '黄',
        'price' => 200
    ],
    'melon' => [
        'id' => 3,
        'color' => '緑',
        'price' => 300
    ]
];

foreach ($fruits as $fruit => $value) {
  echo $fruit.$value['id'].' '.$value['color'].' '.$value['price']."\n";
}

出力の結果はこのようになります。

apple 1 赤 100
banana 2 黄 200
melon 3 緑 300

まとめ

様々な配列をforeachしてみました!

実際のWeb開発ではもっと多数の値の入った配列だったり、オブジェクトをforeachすることが沢山あり、本当に良く使います。

他にもPHPの基礎技術を発信していますので、

よろしければ覗いてみてくださいね!

by
関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です