【Laravel】Bladeビューで繰り返し処理のインデックスを取得できる$loop変数のindexプロパティを解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 PHPのフレームワークの1つであるLaravelでBladeビューの@foreachディレクティブなどの繰り返し処理でインデックスを取得することができる$loop変数のindexプロパティを丁寧に説明していきます。

Bladeビューと@foreachディレクティブについては、こちらの記事をご参考ください。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Laravelのバージョン 8.10.0

この記事では

C:\Laravel\LaravelSample

配下にLaravelのプロジェクトを作成しています。

$loop変数のindexプロパティとは

$loop変数のindexプロパティとは、Bladeビューでの繰り返し処理のインデックスを取得することができるプロパティです。

$loop変数のindexプロパティは、↓のように使います。

繰り返し処理の中で、

を指定してあげれば、インデックスを取得することができます。
ちなみに、インデックスは0始まりです。

では、次の章で実際に使って解説します。

$loop変数のindexプロパティを解説するプログラムの概要

$loop変数のindexプロパティを解説するプログラムは、

  • コントローラー
  • Bladeビュー
  • web.php

3つを使います。

コントローラーは名前を【SampleController.php】とし、配列を作成しBladeビューに渡します。
コントローラーからBladeビューに値を渡す方法については、こちらの記事をご参考ください。

Bladeビューではコントローラーから受け取った配列を@foreachディレクティブでインデックスと配列の中身を表示します。
Bladeビューは名前を【printsample.blade.php】とし、viewsディレクトリ直下に格納します。

web.phpには、【http://〇〇.〇〇.〇〇:8000/printsample】でアクセスした場合、SampleControllerの【printsample.blade.php】を呼ぶメソッドを呼ぶように定義します。
ちなみにweb.phpとは、ルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。

コントローラー:SampleController.phpのサンプルプログラム

Bladeビュー:printsample.blade.phpのサンプルプログラム

web.phpのサンプルプログラム

実行して確認

本当にコントローラーからBladeビューに値を渡すことができているのかを実行して確認します。
Laravelでサーバーを立ち上げるコマンドは

です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。

  • http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/printsample
    ※コマンドプロンプトに記載されているURL
  • http://localhost:8000/printsample

どちらかのURLにアクセスすれば、繰り返し処理でインデックスが取得できていることが確認できます!

まとめ:繰り返し処理で$loop変数のindexプロパティを使ってみよう

以上がLaravelのBladeビューで繰り返し処理のインデックスを取得できる$loop変数のindexプロパティの解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました