カテゴリ: Laravel 更新日: 2025/12/14

Laravelの条件分岐とループ処理をBladeで書く方法

Laravelの条件分岐とループ処理をBladeで書く方法
Laravelの条件分岐とループ処理をBladeで書く方法

先生と生徒の会話形式で理解しよう

生徒

「LaravelのBladeテンプレートで条件によって表示を変えたり、繰り返し処理をしたいです。どうやって書くんですか?」

先生

「BladeにはPHPのif文やループ処理を簡単に書ける構文が用意されています。初心者でも理解しやすいですよ。」

生徒

「具体的にはどんな書き方なんでしょう?」

先生

「これから条件分岐とループ処理の基本を一緒に学んでいきましょう!」

1. Bladeの条件分岐とは?

1. Bladeの条件分岐とは?
1. Bladeの条件分岐とは?

条件分岐は、プログラムの中で「もし○○なら〜」と処理を分ける仕組みです。BladeではPHPのif文を簡単に書ける特別な構文があります。

例えば、ある変数が特定の値ならメッセージを表示し、それ以外なら別のメッセージを表示する、といった使い方ができます。

2. Bladeでのif文の基本的な書き方

2. Bladeでのif文の基本的な書き方
2. Bladeでのif文の基本的な書き方

Bladeの条件分岐は @if@elseif@else@endif を使います。


@if ($score >= 60)
    合格です!
@elseif ($score >= 40)
    もう少し頑張りましょう。
@else
    不合格です。
@endif

この例では、$score の値によって表示するメッセージが変わります。@if は「もし〜なら」、@elseif は「そうでなくて、もし〜なら」、@else は「それ以外の場合」という意味です。

3. Bladeのループ処理とは?

3. Bladeのループ処理とは?
3. Bladeのループ処理とは?

ループ処理は、同じ処理を何度も繰り返す仕組みです。BladeではPHPのforやforeach文を簡単に書くための構文が用意されています。

例えば、商品のリストや投稿の一覧など、複数のデータを順番に表示したいときに使います。

4. Bladeでのforeachループの書き方

4. Bladeでのforeachループの書き方
4. Bladeでのforeachループの書き方

Bladeで繰り返し処理をするには、 @foreach@endforeach を使います。


@foreach ($fruits as $fruit)
    <li>{{ $fruit }}</li>
@endforeach

この例では、$fruits という配列の中身を1つずつ取り出してリストとして表示します。{{ }} は変数の値を画面に表示するBladeの書き方です。

5. ループ内で条件分岐を使う例

5. ループ内で条件分岐を使う例
5. ループ内で条件分岐を使う例

ループの中でも条件分岐を使って、例えば特定の値だけ色を変えたり表示を変えたりできます。


@foreach ($fruits as $fruit)
    @if ($fruit == 'リンゴ')
        <li style="color:red;">{{ $fruit }}</li>
    @else
        <li>{{ $fruit }}</li>
    @endif
@endforeach

この例では、果物が「リンゴ」の場合だけ赤色で表示し、それ以外は普通の表示になります。

6. Bladeのループで便利な変数

6. Bladeのループで便利な変数
6. Bladeのループで便利な変数

Bladeのループ内では、繰り返しの回数や最初か最後かを知るための特別な変数が使えます。


@foreach ($fruits as $index => $fruit)
    <li>{{ $index + 1 }}: {{ $fruit }}</li>
@endforeach

このようにインデックス(番号)を使って、リストに番号を振ることも簡単です。

7. 条件分岐やループ処理で気をつけるポイント

7. 条件分岐やループ処理で気をつけるポイント
7. 条件分岐やループ処理で気をつけるポイント

条件分岐やループは便利ですが、複雑になりすぎるとコードが読みにくくなります。なるべくシンプルに書き、変数の意味もわかりやすくすることが大切です。

また、BladeではPHPのコードをそのまま書くこともできますが、Bladeの構文を使うと読みやすくて安全ですのでおすすめです。

まとめ

まとめ
まとめ

Bladeで条件分岐とループ処理を書く意味を振り返ろう

ここまで、LaravelのBladeテンプレートで使える条件分岐とループ処理について、基本から具体例まで順番に学んできました。Bladeは、HTMLの中に直接PHPの処理を書かずに、読みやすく整理された構文で画面表示を制御できるのが大きな特徴です。特に @if@foreach といった構文は、Webアプリケーション開発では頻繁に登場します。

条件分岐を使うことで、「ログインしているときだけ表示する」「点数によってメッセージを変える」「データがある場合だけ一覧を出す」といった、実際の画面に近い制御ができるようになります。一方、ループ処理を使えば、配列やデータ一覧をまとめて表示でき、同じHTMLを何度も書く必要がなくなります。これらはLaravelだけでなく、Web開発全体で重要な考え方です。

条件分岐とループを組み合わせると表現力が広がる

Bladeでは、ループの中に条件分岐を書くこともできるため、表示の柔軟性が一気に高まります。たとえば、特定のデータだけ強調表示したり、状態によって文言や色を変えたりといった処理が簡単に書けます。これは、管理画面や一覧画面、商品リスト、ブログ記事一覧など、さまざまな場面で役立ちます。

初心者のうちは「条件分岐はif文」「繰り返しはforeach」と役割を分けて考えると理解しやすいでしょう。Bladeの構文はPHPに近いため、プログラミング未経験者でも比較的とっつきやすく、HTMLの流れを壊さずに処理を書ける点が魅力です。

初心者向けのシンプルなサンプルで再確認

ここで、条件分岐とループ処理を組み合わせた、できるだけシンプルなサンプルをもう一度確認してみましょう。配列の中身を表示しつつ、特定の条件だけ表示を変える例です。


@foreach ($scores as $score)
    @if ($score >= 60)
        <p>{{ $score }}点:合格です</p>
    @else
        <p>{{ $score }}点:再チャレンジしましょう</p>
    @endif
@endforeach

このように書くことで、配列の数だけ処理が繰り返され、点数に応じて表示内容が変わります。HTMLの中で自然に条件分岐とループが書けるのがBladeの強みです。まずは短いコードで動きを確認しながら、少しずつ慣れていくことが大切です。

シンプルに書くことが読みやすさにつながる

Bladeで条件分岐やループ処理を書くときは、処理を詰め込みすぎないことも重要なポイントです。条件が増えすぎる場合は、コントローラ側であらかじめデータを整理しておくと、ビューが読みやすくなります。Bladeは「表示に関する処理だけを書く場所」と意識すると、コード全体がすっきりします。

先生と生徒の振り返り会話

生徒

「Bladeの@ifや@foreachを使うと、画面表示を細かく調整できるんですね。」

先生

「そうです。条件分岐とループを覚えると、できることが一気に増えますよ。」

生徒

「HTMLの中にそのまま書けるので、表示の流れが分かりやすいと感じました。」

先生

「それがBladeの良いところですね。無理に難しい書き方をせず、シンプルに使うのがコツです。」

生徒

「まずは@ifと@foreachをしっかり使えるように練習してみます。」

先生

「それで十分です。慣れてくると、Laravelでの画面作りがどんどん楽しくなりますよ。」

関連記事:
カテゴリの一覧へ
新着記事
New1
Laravel
Laravelの認証状態をチェックする方法を完全解説!authとAuth::check()を初心者向けにやさしく説明
New2
CodeIgniter
CodeIgniterのコントローラクラスの作り方を完全ガイド!初心者でもわかる基礎から実践まで
New3
Symfony
Symfonyのフォームラベルを多言語対応!初心者でもわかる翻訳設定ガイド
New4
Laravel
Laravelでユーザー登録機能を作る方法!初心者向けにバリデーションとリダイレクトをやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.2
Java&Spring記事人気No2
Laravel
Laravelのビューとは?Bladeテンプレートの基本を解説
No.3
Java&Spring記事人気No3
Laravel
Laravelでセッションを扱う方法!保存方法と利用例を解説
No.4
Java&Spring記事人気No4
Laravel
Laravelのルート一覧を確認する方法!初心者でもわかるphp artisan route:listの使い方
No.5
Java&Spring記事人気No5
Laravel
Laravelでルーティングを設定する方法!web.phpと基本ルートの書き方を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
LaravelでルートをBladeテンプレートに記述する方法(route関数)
No.7
Java&Spring記事人気No7
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.8
Java&Spring記事人気No8
Laravel
Laravelのルートキャッシュ機能を活用してパフォーマンス改善!初心者でもわかる完全ガイド