简介
本文主要通过代码前后改造对比来介绍laravel blade模板loop变量使用。
环境
- php > 5.6
- laravel > 5.3
效果图
测试用数据mock
public function index()
{
$data = ['one', 'two', 'three', 'four', 'five'];
return view('hello.index', ['data' => $data]);
}
原代码
<p>foreach循环</p>
<p>数据读取开始</p>
<ul>
@foreach($data as $item)
{{--//循环位置 --}}
<li>NO,{{$loop->iteration}}.{{$item}}</li>
@endforeach
</ul>
<p>数据读取结束</p>
- 传统作法是将数据循环以外的内容写到@foreach外面。
- @foreach内部只执行简单的处理逻辑
使用loop变量
<p>foreach循环</p>
@foreach($data as $item)
{{--//判断是否是循环头部--}}
@if($loop->first)
<p>数据读取开始</p>
<ul>
@endif
{{--//循环位置 --}}
<li>NO,{{$loop->iteration}}.{{$item}}</li>
{{--//判断是否是循环尾部--}}
@if($loop->last)
</ul>
<p>数据读取结束</p>
@endif
@endforeach
- 使用loop可以区分出当前执行位置,并在相应的位置做特殊处理
- @foreach内部包含整个模组的显示逻辑,使代码更具观赏性