【PHP入門】foreach構文の使い方をわかりやすく解説

プログラミング言語の辞書

foreach構文は配列やオブジェクトの要素を繰り返し処理する際に頻繁に利用される重要な構文です。本記事では、初心者向けにPHPのforeach構文の使い方をわかりやすく解説します。

忍者CODEの学習は“実践型”!
だから
結果を出せる!

忍者CODE

●初めてIT業界にチャレンジする方
∟はじめての方でも安心して学習できるように、基礎知識から実践的な課題までプロへのロードマップが分かりやすいカリキュラムを採用。
●副業に有利なことを探されている方
∟未経験からでもスキルを習得できる“実践的カリキュラム”と、学習だけでなく受講後もプロのメンターがマンツーマンで徹底的に副業サポートまで行い、受講後は必ず案件をご紹介するプランの副業・案件”保証”プランもあります。
●業界最安級の受講費用で始めやすい
∟月額9,8000円から始められる忍者CODEのプログラミングスクールは業界でも最安級!それでも学習し放題、サポートは無期限・無制限と、プロのメンターとエンジニアを筆頭に、皆さんを徹底的にサポートします。

まずは自分の適性プラン診断から!
適正コース診断

PHPのforeach構文とは

PHPのforeach構文は、配列やオブジェクトの要素を順番に取り出して処理するための制御構文です。foreachは「それぞれに対して」という意味を持ちます。配列やオブジェクトの要素に対して順番に処理を行いたい場合に非常に便利です。

foreach構文の基本構造は以下のようになります。

foreach ($配列またはオブジェクト as $キー => $値) {
  // 処理内容
}

ここで、$配列またはオブジェクトには繰り返し処理を行いたい配列やオブジェクトを指定します。そして、$キー$値はそれぞれ配列のキーと値、またはオブジェクトのプロパティと値に対応します。foreach構文は指定された配列またはオブジェクトの要素を先頭から順番に取り出し、ループ内の処理を実行します。

foreach構文は、データを一つずつ取り出すだけでなく、配列やオブジェクトの要素を一括で取得することも可能です。さまざまな状況で活用できるforeach構文をしっかり理解しましょう。
PHPの基礎を無料で学ぶ方はこちら▶

PHPのforeach構文の使い方

PHPのforeach構文は、配列やオブジェクトの要素を繰り返し処理する際に非常に便利です。この構文を使うことで、簡単にデータの集合を扱うことができます。以下では、foreach構文の基本的な使い方と応用例を示します。

基本構文

まずは、foreach構文の基本的な使い方から見ていきましょう。以下のように、配列を対象としたforeachループを考えてみます。

$fruits = array("apple", "banana", "orange");

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

上記の例では、$fruitsという配列があります。foreach構文では、$fruitsの要素を先頭から順番に取り出し、それを変数$fruitに格納してループ内の処理を行います。ループ内では、各要素が順番に表示されるでしょう。

キーと値の取得

foreach構文では、キーと値を同時に取得することもできます。次の例を見てみましょう。

$student_scores = array("Alice" => 85, "Bob" => 92, "Chris" => 78);

foreach ($student_scores as $name => $score) {
  echo $name . "の点数は" . $score . "点です。<br>";
}

上記の例では、$student_scoresという連想配列があります。foreach構文では、$student_scoresのキーを変数$nameに、値を変数$scoreに格納してループ内の処理を行います。ループ内では、各生徒の名前と点数が表示されるでしょう。

応用例:要素の更新

foreach構文を使って配列の要素を更新することも可能です。例えば、配列内の数値を2倍にして新しい配列を作成する場合は次のようにします。

$numbers = array(1, 2, 3, 4, 5);
$doubled_numbers = array();

foreach ($numbers as $number) {
  $doubled_numbers[] = $number * 2;
}

print_r($doubled_numbers);

上記の例では、$numbersという配列内の要素を2倍にして、新しい配列$doubled_numbersを作成しています。

プログラミングスクールなら
忍者CODE

適正コース診断2

foreach構文とwhile構文やfor構文との違い

プログラミングにおいて、データの繰り返し処理を行う際にはforeach構文以外にもwhile構文やfor構文が利用されます。それぞれの構文には特徴や使いどころがあり、foreach構文とwhile構文、for構文の違いについて理解しましょう。

foreach構文の特徴

  • foreach構文は主に配列やオブジェクトの要素を一つずつ取り出して処理する場合に使用されます。
  • 要素を直接取り出して利用するため、インデックスや条件式を気にする必要がありません。そのため、シンプルな構文であり、コードの可読性が高まります。
  • 一般的にforeach構文は、全ての要素を順番に処理する必要がある場合に適しています。

while構文の特徴

  • while構文は、指定された条件が真(true)の間、繰り返し処理を行います。条件式を最初から満たさない場合、一度も処理を実行しないこともあります。
  • 繰り返し処理を行うためのカウンタ変数が必要であり、処理の中でカウンタの値を更新する必要があります。
  • while構文は条件が変化するまで処理を続けるため、不特定の回数だけ処理を行いたい場合に適しています。

for構文の特徴

  • for構文も指定された回数だけ処理を繰り返すための構文ですが、while構文とは異なり、カウンタ変数を初期化し、条件を満たす限りカウンタを更新するように設定します。
  • for構文は、繰り返し回数があらかじめ分かっている場合に特に有用です。例えば、配列のインデックスを利用して繰り返し処理を行う場合によく使われます。
  • for構文はカウンタ変数を明示的に扱うため、繰り返しの回数が明確になることが多く、ループの制御が容易です。

PHPのforeach構文を使った処理を書いてみよう

以下では、初心者向けに簡単な例を使ってPHPのforeach構文を使った処理を紹介します。

例:配列の要素を表示する

まずは、配列の要素をforeach構文を使って表示する例を見てみましょう。

$fruits = array("apple", "banana", "orange");

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

上記の例では、$fruitsという配列が定義されています。foreach構文を使って、配列$fruitsの要素を順番に取り出し、それを変数$fruitに格納しています。そして、echo文を使って各要素を改行付きで表示しています。

実行結果は以下のようになります。

apple
banana
orange

例:連想配列の要素を表示する

次に、連想配列の要素をforeach構文を使って表示する例を見てみましょう。

$student_scores = array(
  "Alice" => 85,
  "Bob" => 92,
  "Chris" => 78
);

foreach ($student_scores as $name => $score) {
  echo $name . "の点数は" . $score . "点です。<br>";
}

上記の例では、$student_scoresという連想配列が定義されています。foreach構文を使って、連想配列$student_scoresのキーを変数$nameに、値を変数$scoreに格納しています。そして、echo文を使って各生徒の名前と点数を表示しています。

実行結果は以下のようになります。

Aliceの点数は85点です。
Bobの点数は92点です。
Chrisの点数は78点です。

これらの例から分かるように、foreach構文は繰り返し処理を簡潔に記述することができ、特に配列や連想配列の要素を扱う際に非常に便利です。ぜひ、自分のプログラムにforeach構文を取り入れて、効率的な処理を行ってみてください。
全49問!PHP無料問題集はコチラ▶

まとめ

本記事では、初心者向けにPHPのforeach構文の使い方をわかりやすく解説しました。

  • foreach構文は配列やオブジェクトの要素を繰り返し処理するための便利な制御構文であることを学びました。
  • 基本構文は「foreach ($配列またはオブジェクト as $キー => $値) {}」であり、配列の要素を一つずつ取り出して処理できます。
  • foreach構文ではキーと値を同時に取得することも可能で、連想配列の処理にも適しています。
  • foreach構文は他の繰り返し処理構文であるwhile構文やfor構文とは異なる特徴があります。適切な構文を選択することが重要です。

foreach構文を理解することで、データの集合を効率的に処理できるようになります。ぜひ、自身のプログラムに活用してみてください。
全49問!PHP無料問題集はコチラ▶

挫折することなくエンジニアを目指すなら

独学?スクール?

これからHTMLやCSSなどといったプログラミング言語の学習を始めようと考えている方、または最近学習を始めた方がいらっしゃるかと思います。

ただ、実際に学習を始めるとなると

1人で学習を進められるかな…
どこをゴールにしていいかわからない…
挫折してしまわないかな…

このように不安な気持ちになる方もいますよね。

たしかに、何かわからないことが出てきたとき、エラーが解決できないとき、誰かに相談できる環境がないことが理由でプログラミング言語の学習を挫折する方が多くいます。

実際にプログラミング言語初学者が挫折をする1番の理由は「不明点が発生した際に気軽に相談できる環境がない」という実態があります。

それだけ学習する環境が大事だということです。

そんな背景があるからこそ、プログラミングの勉強をする際にスクールを選ぶ方が多いのが事実です。

プログラミングスクールに通う理由は他にもあり

・確実にスキルを身に着けたい
・効率良く学習を進めたい
・モチベーションの維持にもつながりそう
・以前に独学で挫折した経験がある
このように「確実に!」「効率良く!」といった声もよく上がります。
やはり途中で挫折してしまったり、どこを目指しているのかわからなくなったりした場合、「プログラミングを学習することは難しい」と認識してしまい、その後のスキル習得を諦めてしまう可能性が非常に高くなります。
このようなことから、社会人で時間もそこまでないため短期間でスキルを習得したい人や独学で進めるのが不安な人が効率性や確実性を求め、プロの講師に相談できる環境が用意されているプログラミングスクールを選択するのがわかります。
「転職をしたい」「副業で稼げるようになりたい」という理由でプログラミング言語を学び始めたとき、わからない箇所を飛ばしてそのままに放置して学習を進めたとしても、目標とする転職や副業が実現するほどのスキルが身につかなければ多くの時間を費やして何も得られないという結果になります。
ですので、1人でHTMLやCSSなどといったプログラミングスキルの習得ができるか不安な方は多少の費用をかけてでも、不明点をすぐに相談・解決できる環境や効率良く学習できる有料サービスを選ぶのがベストだと言えます。
そこでおすすめしたいのが「忍者CODE」です。
忍者CODEをおすすめする1番の理由は「業界最安級の金額でありながら圧倒的学習ボリュームと半永久サポートを提供している」ところにあります。
上記でお伝えしたように、初学者の多くは独力で不明点や問題点を解決できないためにプログラミングの学習を挫折しています。そのため、初学者が経験豊富なプロのエンジニアに相談できない環境下でプログラミングスキルの習得をするのは難易度が高いと言えます。
ですが、忍者CODEでは
・チャットでいつでも、無制限で質問可能
・学習者同士でつながれるコミュニティへの招待
などといったサポート体制を設けているため、学習を進めていく中で出てきた問題点や不明点をスムーズに解決しながら、挫折することなくプログラミングスキルの習得が可能です。
また、忍者CODEでは動画コンテンツにて学習を進めていくため、スッと頭に入ってきやすいようになっているのも特徴です。
未経験でも挫折させないオンラインスクールとして、受講生に寄り添った学習コンテンツを提供している忍者CODEをより詳しく知りたい方はぜひ公式サイトをご覧ください。