エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】bladeでforeachの回数カウント3種類($loop使えない用)【228日目】

こんなとき使う

@foreach($titles as $title)

  @if($index == 4)
  @endif

@endforeach

こんなふうに、4番目のデータのときにだけなにかをしたい場合。

書き方いくつかあります。

$loop変数を使う(Laravel5.3以上)

@foreach ($titles as $title)

    @if ($loop->index == 3)
    @endif

@endforeach

0から読み込んだ回数が入ります。

$loop->iterationなら1から始まります。

配列のキーを用いる(Laravel5.2以下)

@foreach ($titles as $index => $title)

    @if ($index == 3)
    @endif

@endforeach

配列などは、キーを明示しなければ、0,1,2,3...というキーを用いるのを応用する形。

ただ、配列にすでにキーを設定している場合は以下の対応になると思います

PHPを直書きする

<?php $index=0; ?>
@foreach($titles as $title)

  @if($index == 4)
  @endif

  <?php $index++; ?>
@endforeach

これでむりやりindexという変数を生成して用いる。

極力前の2つを使った方がいいと思います。

ってことで、Laravel5.2で悲しみを背負ったういろうでした。