LoginSignup
47
43

More than 5 years have passed since last update.

Laravel:$loopによるループ変数の使用例

Last updated at Posted at 2017-11-20

繰り返し専用のループ変数($loop)

\$loopという繰り返しディレクティブの変数が用意されているので条件識別と連動させて処理する

//最初の繰り返しかどうか
$loop->first

//最後の繰り返しかどうか
$loop->last

//現在の繰り返し数(1から開始)
$loop->iteration

//あと何回繰り返すか(残り回数)
$loop->remaining

//繰り返しで使っている配列の要素数
$loop->count

//繰り返しのネスト数
$loop->depth

//ネストしている場合、親の繰り返しのループ変数を示す
$loop->depth

使用例

\$dataの数だけデータをリスト形式で表示するコード
ループ内でも初めのループ・最後のループを検知して、その時のみ文字を出力している

resources/views/hello/index.blade.php
<html>
<head>
    <title>Request&Response</title>
    <style>
        body {
            font-size:16pt;
            color:#999;
        }
        h1 {
            font-size:100pt;
            text-align: right;
            color:#eee;
            margin:-40px 0 -50px 0;
        }
    </style>
</head>
<body>
    <h1>Blade/Index</h1>
    <p>foreachディレクティブの例</p>
        @foreach($data as $item)
            //最初の繰り返しかどうか
            @if($loop->first)
            <p>※データ一覧</p><ul>
            @endif
            //現在の繰り返し数(1から開始)
            <li>NO,{{$loop->iteration}}.{{$item}}</li>
            //最後の繰り返しかどうか
            @if($loop->last)
            </ul><p>ここまで</p>
                @endif
        @endforeach

</body>
</html>
app/Http/Controllers/HelloController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Http\Response;


class HelloController extends Controller
{
    public function index() {
        $data = ['one','two','three','four','five'];
        return view('hello.index',['data'=>$data]);
    }
}
47
43
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
43