计算刀片中的迭代次数(Laravel)

时间:2015-08-22 19:20:35

标签: laravel blade

我想知道是否可以通过数组为每次迭代执行if语句。这样我就可以使用','来标记每个用户。或者'&'取决于有多少用户。

@foreach ($copy as $user => $value) 
@if ($user == 0)
{{$value->username}}
@endif
@if ($user == 1)
, {{$value->username}}
@endif
@if ($user == 2)
, {{$value->username}}
@endif
@if ($user == 3)
& {{$value->username}}
@endif
@endforeach

如果有4个用户,则上面的代码会正确打断,但如果我的用户数少于4个,那么我该如何移动'&'例如,如果有3个用户,则为第3个用户?

1 个答案:

答案 0 :(得分:2)

遇到此类问题时,请尝试找到最佳解决方案。在这种情况下,您可以确定除了两个位置之外的所有位置都需要逗号,并且在一个位置中使用&符号。因此,不应为每个数组索引设置条件,而应该为逗号分配一个,为&符号分别设置一个:

@foreach ($copy as $user => $value) 
    {{$value->username}}

    // Place commas after all but the last two items
    @if ($user < count($copy) - 2)
        ,
    @endif

    // Place an ampersand before the last item
    @if ($user == count($copy) - 2)
        &amp;
    @endif
@endforeach

这适用于任何大小的列表。