foreach
の繰り返し処理でodd(奇数)、even(偶数)のそれぞれの値を取得したい時が時々ありますが、
Laravelでは奇数・偶数を簡単に処理することができます。
PHPで行う場合
奇数、偶数のループを取得する方法は色々ありますが、一般的には下記のようなコードになるかと思いますが、LaravelのBladeでは変数の定義ができません。
$odd = array();
$even = array();
foreach ($array as $key => $value) {
if ($key % 2 == 0) {
$even[] = $value;
}
else {
$odd[] = $value;
}
}
Laravelの$loop変数を使う
LaravelではBladeのforeach内で使える$loopと言う変数を使うとループ回数を簡単に取得することができます。
@foreach($values as $key => $value)
@if($loop->iteration % 2 == 0)
// 偶数
@else
// 奇数
@endif
@endforeach