TechReach

【初心者向け】PHPのforeach構文とは?基本的な使い方や応用例を解説

PHPの強力な機能、foreach構文を、初心者向けに徹底解説します。配列処理を効率的にする方法や、他のループ構文との違いを詳しく紹介します。

基本から応用まで、実践的なコード例を交えながら説明し、理解しやすく、すぐに実践できる内容となっています。

本記事を読むことで、PHPのコーディングスキルが向上し、より効率的なプログラミングが可能になるでしょう。foreach構文のマスターを目指して、一緒に学んでいきましょう。

自分のスキル年収どのくらい? /
予定年収を診断してみる

PHPとは

PHPは、WEBアプリケーション開発に特化したサーバーサイドスクリプト言語です。HTMLに埋め込んで記述できる特徴があり、動的なWEBページを生成するのに適しています。オープンソースで提供されており、多くの開発者に支持されています。

PHPの特徴

PHPは、WEBアプリケーション開発向けの学習しやすく、初心者にも取り組みやすい言語です。

データベース連携やセッション管理、画像処理など豊富な機能があります。

また、大規模なWEBサイト開発にも対応可能で、多くの企業で採用されています。

PHPのforeach構文とは

PHPのforeach構文は、配列の要素を順番に処理するためのループ(繰り返し・反復)処理の一種です。

foreachを使うと、配列の中身を漏れなく取り出し、処理できます。

foreach構文の特徴

foreach構文では配列の要素数を事前に知る必要がありません。

配列のキーと値の両方にアクセスでき、連想配列を扱う際に便利です。

他のループ構文と比べ、読みやすく、記述が簡潔です。

foreach構文と他の構文との違い

foreach構文とPHPの他のループ構文の違いを見ていきましょう。

while構文との違い

whileは条件が成立している間、処理を繰り返します。

一方、foreachは配列の要素数だけ自動で繰り返すため、条件設定が不要で、コードが簡潔です。

配列の全要素を表示する場合で比較してみます。

whileの場合

$i = 0; // 配列の何番目を見ているか、カウントする変数

while ($i < count($array)) {    // $iが配列の要素数未満のとき繰り返し

    echo $array[$i];

    $i++;   // $iをカウントアップ

}

foreachの場合

カウントなどが不要で簡潔に書けます。

foreach ($array as $value) {

    echo $value;

}

for構文との違い

forは3つの式を指定して繰り返し処理をおこないます。

forで配列の全要素を表示

// for(初期化;条件式;更新式)

// 初回は初期化式が評価され、条件式が成立しているときループ本体が実行されます。実行後に更新式を評価し、繰り返します。

for ($i = 0; $i < count($array); $i++) {

    echo $array[$i];

}

foreachで全要素を表示

foreachはインデックスの管理や要素数の事前把握が不要です。

foreach ($array as $value) {

    echo $value;

}

foreach構文の基本的な使い方・書き方

foreachの基本的な構文を詳しく見ていきましょう。

一次元配列

1次元配列は、スーパーのレジ待ちのように、一列に並ぶデータです。

例えば、果物の名前を、次のように書けます。

$fruits = [‘りんご’, ‘バナナ’, ‘オレンジ’];

例:foreachで名前を順に表示

// foreach(配列 as 変数)

foreach ($fruits as $fruit) {

    // ループの各回で、$fruitsの各要素が$fruitに代入されます。

    echo $fruit . ‘はおいしい果物です。<br>’;

}

// りんごはおいしい果物です。<br>バナナはおいしい果物です。<br>オレンジはおいしい果物です。<br>

連想配列

連想配列は、キーと値のペアで構成される配列です。

例えば、果物の名前と価格を含む連想配列を、次のように書けます。

$fruits = [

    ‘りんご’ => 100,    // キー => 値

    ‘バナナ’ => 80,

    ‘オレンジ’ => 120

];

例:foreachで名前と価格を順に表示

// foreach(配列 as キーが入る変数 => 値が入る変数)

foreach ($fruits as $name => $price) {

    // ループの各回で、$fruitsの各要素のキーが$nameに、値が$priceに代入されます。

    echo $name . ‘の価格は’ . $price . ‘円です。<br>’;

}

// りんごの価格は100円です。<br>バナナの価格は80円です。<br>オレンジの価格は120円です。<br>

foreach構文の応用例

本項では、foreach構文の応用例をご紹介します。

breakを使用する

breakを使うと、ループ処理を途中で終了できます。特定の条件でループを抜けたい場合に有効です。

例えば、配列の中から特定の値を見つけたらループを終了する場合、次のように記述します。

$fruits = [‘apple’, ‘banana’, ‘orange’, ‘grape’];

foreach ($fruits as $fruit) {

    if ($fruit === ‘orange’) {

        echo “オレンジを見つけました!”;

        break; // ループを終了

    } else { /* orange以外の処理 */ }

}

contiuneを使用する

continueを使うと、ループの現在の処理をスキップして、次の反復に進めます。

特定の条件のみ処理したい場合に便利です。

$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

foreach ($numbers as $number) {

    if ($number % 2 !== 0) { // 2で割り切れないときtrue

        continue; // 奇数の場合は処理をスキップ

    }

    echo $number . ” “; // 偶数のみ出力

}

// 2 4 6 8 10

上記の例では、奇数の場合は処理をスキップし、偶数のみが出力されます。

表を作成する

foreachを使ってHTMLの表(<table>要素)を動的に生成できます。

データベースから取得したデータを表示する際によく使われる手法です。

例:連想配列のデータをもとに、HTMLの表を生成

$data = [

    [‘name’ => ‘山田’, ‘age’ => 30],

    [‘name’ => ‘佐藤’, ‘age’ => 25],

    [‘name’ => ‘鈴木’, ‘age’ => 35]

];

echo “<table border=’1′>”;

echo “<tr><th>名前</th><th>年齢</th></tr>”;

foreach ($data as $person) {

    echo “<tr>”;

    echo “<td>{$person[‘name’]}</td>”;

    echo “<td>{$person[‘age’]}</td>”;

    echo “</tr>”;

}

echo “</table>”;

配列要素の書き換え

&を使って参照渡しにすると、ループ内で配列の要素を変更できます。ただし、ループ後に参照の解除を忘れないようにしましょう。

$fruits = [‘apple’, ‘banana’, ‘orange’];

foreach ($fruits as &$fruit) {

    $fruit = strtoupper($fruit); // 大文字に変換

}

unset($fruit); // 参照を解除

print_r($fruits);

// Array

// (

//     [0] => APPLE

//     [1] => BANANA

//     [2] => ORANGE

// )

上記の例では、配列の各要素を大文字に変換しています。

PHPスキルを活かせるフリーランス案件をお探しなら

フリーランス市場でもPHPの需要は高く、特にWordPress開発やシステム保守の案件が多いです。foreach構文を含むPHPスキルを活かせる案件をお探しの方に、テックリーチをご紹介します。

テックリーチは、ITエンジニアやクリエイター専門の案件マッチングサービスで、あなたのスキルや経験に最適なプロジェクトをご提案します。

今すぐテックリーチで新たな可能性を見つけてください。

まとめ

PHPのforeach構文は、配列の要素を簡単に処理できる便利な機能です。基本的な使い方から応用例まで幅広く紹介しました。

foreach構文を使いこなすことで、効率的なコーディングが可能になります。ぜひ、実際のプロジェクトでforeach構文を活用してみてください。

フリーランスの案件をお探しの方はTechReachにご相談ください。

TechReachを運営する株式会社アールストーンはIT・Web業界特化で15年以上の実績がございます。

そのため、高単価・高品質な数多くの案件紹介が可能です。

また一人のコンサルタントが企業と求職者様の担当を行う「両面型エージェント」を採用しているため、あなたの希望に合う案件がきっと見つかるはずです。

TechReachを活用して、理想の案件を見つけましょう!

関連記事

カテゴリ