基本上,我将一个变量员工从StaticPagesController传递给about.blade.PHP
在循环@foreach时,我希望代码知道它是否是最后一个元素,因此它将输出员工的名字而不使用逗号.
这些都不会奏效.
1.
@foreach($employees as $employee)
@if($employee == end($employees))
{{ $employee->first_name }} {{ $employee->last_name }}
@else
{{ $employee->first_name }} {{ $employee->last_name }},
@endif
@endforeach
enter code here
2.
@foreach($employees as $employee)
@if($employees->last())
{{ $employee->first_name }} {{ $employee->last_name }}
@else
{{ $employee->first_name }} {{ $employee->last_name }},
@endif
@endforeach
解决方法:
从Laravel 5.3开始就更容易了:@foreach中有一个$loop变量:
https://laravel.com/docs/5.3/blade#the-loop-variable
@foreach($employees as $employee)
@if ($loop->last)
// This is the last iteration.
{{ $employee->first_name }} {{ $employee->last_name }}
@else
{{ $employee->first_name }} {{ $employee->last_name }},
@endif
@endforeach
最短的替代方案可以是:
@foreach($employees as $employee)
{{ $employee->first_name }} {{ $employee->last_name }}{{ ($loop->last ? '' : ',') }}
@endforeach
请注意,$loop->首先也存在.