オーダーメイドコース
icon
icon

PHPでendforeachを書く方法【初心者向け】

初心者向けにPHPでendforeachを書く方法について解説しています。endforeachの書き方を覚え、見通しの良いソースコードを書けるようにしましょう。どういう場合にendforeachを使うと便利なのか知っておきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

PHPでendforeachを書く方法について解説します。

どんなシーンでendforeachを書くと便利なのか知っておくと効率よく開発が行えるはずです。

 

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPでendforeachを書く方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

endforeachで書く理由

例えば以下のようなコードでは、ifやforeachの制御構造の終わり( } )がわかりにくいかと思います。

<?php
$array = [
  [ "id" => 1, "name" => "foo" ],
  [ "id" => 2, "name" => "bar" ],
];
?>

<?php if (0 < count($records)) { ?>
  <table>
    <tbody>
      <?php foreach ($records as $record) { ?>
        <tr>
          <td><?php echo $record['id']; ?></td>
          <td><?php echo $record['name']; ?></td>
        </tr>
      <?php } ?>
    </tbody>
  </table>
<?php } ?>

PHPでは、いくつかの制御構造(if, while, for, foreach, switch)に関して代替構文が提供されており、上のような状況を改善できます。

 

endforeachの書き方

foreachを以下の形式で書くことができます。

<?php 
foreach($array as $element): 
    //
endforeach; 
?>

 

[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

foreachの代替構文を使うと、最初のコードは以下のようになります。

<?php
$array = [
  [ "id" => 1, "name" => "foo" ],
  [ "id" => 2, "name" => "bar" ],
];
?>

<?php if (0 < count($records)) { ?>
  <table>
    <tbody>
      <?php foreach ($records as $record): ?>
        <tr>
          <td><?php echo $record['id']; ?></td>
          <td><?php echo $record['name']; ?></td>
        </tr>
      <?php endforeach; ?>
    </tbody>
  </table>
<?php endif; ?>
この記事を監修してくれた方

杉本 隆也(すぎもとたかや)
フリーランスのアプリケーションエンジニア。

WebアプリやiOSアプリの受託開発をしながら、
TechAcademyではPHP/Laravelコースを担当しています。

開発実績: マッチングサービス、カスタマーサービス、決済ツール、SNSアプリ、音遊びアプリなど。
趣味: 二胡(を始めたい)

 

大石ゆかり

foreachの中の行数が多い場合はこの書き方の方が見通しが良いですね。

田島悠介

そうそう。今回のようにループしながらHTMLを出力する場合はendforeachがいいね。

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。