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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

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

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

 

なお本記事は、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のプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

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コースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。