我想知道是否可以通过数组为每次迭代执行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个用户?
答案 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)
&
@endif
@endforeach
这适用于任何大小的列表。