×
×

PHPフレームワーク「Laravel」ディレクティブ-繰り返し処理(ループ処理)-

前回は条件分岐のディレクティブの解説を行いました。

今回は「繰り返し処理(ループ処理)」のディレクティブについて解説します。

ディレクティブとは?

Laravelでのディレクティブとは「@〜」で記述し指定の処理を記述する方法です。

Laravelでは主に「分岐処理を行うディレクティブ」「繰り返しのディレクティブ」「レイアウト作成用ディレクティブ」などがあります。

今回は「繰り返し処理(ループ処理)」のディレクティブについての解説となります。

PHPの「繰り返し処理(ループ処理)」について詳しくは「PHP 繰り返し処理(ループ処理)」を参照してください。

@for

PHPでのfor構文に相当するのが@forとなります。

@forは「@for( 初期化 ; 条件 ; 後処理 )」で記述し、@endforで終了となります。

下記は10回ループする処理記述したコードとなります。

結果が下記のようになります。ループ処理が10回行われていることを確認できます。

@foreach

PHPでのforeach構文に相当するのが@foreachとなります。

@foreachは「@foreach( 配列 as 変数 )」で記述し、@endforeachで終了となります。

以下は@phpで配列を定義し、@foreachで順に表示するコードです。

結果が下記のようになります。定義した配列の内容だけループ処理が繰り返されていることがわかります。

index番号や配列の添字を取得し表示する

@foreachではPHPのforeach構文と同様に、配列のindex番号や添字を取得し表示することも可能です。

結果は下記のようになります。index番号が頭に表示されています。
※配列のindex番号は0から始まるので最初の番号が0と表示されています。

@while

PHPでのwhile構文に相当するのが@whileとなります。

@whileは「@while( 条件 )」で記述し、@endwhileで終了となります。

以下は$numが0(false)になるまで繰り返すコードとなります。

結果は下記のようになります。$numが0の場合はループ処理を終えていることがわかります。

@break、@continue

Lravelの繰り返し処理にもPHPと同様に「break」と「continue」が用意されています。

@break@breakが呼び出されると、その時点で繰り返しディレクティブをが中断されます。
@continue@continueが呼び出されると、以降の処理は無視され次の繰り返し処理に進みます。

@break

以下は、@forで利用したコードを流用し、@ifで$numが5になった場合、@breakを出力するコードに書き換えました。

$iが5になった時点でループ処理が終了していることがわかります。

@continue

以下は、@forで利用したコードを流用し、@ifで$iが奇数の場合、@continueを出力するコードに書き換えました。

奇数である1回目、3回目、5回目、7回目、9回目が出力されていないことが確認できます。

ループ処理のディレクティブはPHPと似ている

@for、@foreach、@whileの解説をしましたが、PHPの構文とそれほど変わらないので、PHPを理解していれば利用にはそれほど戸惑わない内容となっています。

created by Rinker
PHPフレームワークのロングセラー定番解説書が、新バージョン対応で改訂! 本書は、Laravelのインストールから、フレームワークの中心になるModel-View-Controller(MVC)の使い方、開発に役立つ各種機能をわかりやすく解説した入門書です。
created by Rinker
PHPフレームワーク
『PHPフレームワークLaravel入門』(青本)を読み終わった方にお勧め!「もっと知りたかったこと」を本書で詳細に解説!PHPでWebアプリケーションを開発するフレームワークには種々ありますが、圧倒的人気ナンバーワンはLaravel!本書は、2017年9月刊行の大好評『PHPフレームワークLaravel入門』を補足する続編。読者の「これも知りたかった!」という声に応えました!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)