如何在Laravel 5中使用php在特定模式下为foreach循环中的元素设置样式

时间:2018-07-23 19:19:00

标签: php laravel loops

请看这张图片enter image description here

如您所见,我有一些帖子是从数据库中获取的。我想为上述模式的帖子提供不同的样式。

我设法使用刀片的$loop iteration为第一篇文章赋予了不同的风格。顺便说一句,我正在使用laravel5。我想给post3 post 4 post 7 post 8赋予相同的风格,并遵循这种模式。 如何使用php实现此目的?

1 个答案:

答案 0 :(得分:2)

您可以在foreach指令中这样做:

@foreach ($blocks as $index => $block)
    @if ($index == 0)
        @include('full')
    @elseif ($index % 4 < 2)
        @include('gray')
    @else
        @include('blue')
    @endif
@endforeach

因此,基本上,它将采用索引的模,并检查其是否小于1。这将给出以下灰色方块:

1, 4, 5, 8

由于它是索引(零基数),它将以灰色显示以下块:

2, 5, 6, 9

然后其他块将显示为蓝色。


示例

$range = range(1, 9);

foreach ($range as $index => $block) {
    echo sprintf('Post %s: ', $index + 1);

    if ($index == 0) {
        echo 'full';
    } elseif ($index % 4 < 2) {
        echo 'gray';
    } else {
        echo 'blue';
    }
    echo '<br>';
}

结果

Post 1: full
Post 2: gray
Post 3: blue
Post 4: blue
Post 5: gray
Post 6: gray
Post 7: blue
Post 8: blue
Post 9: gray