laravel 5.3 blade 新增$loop变量
文档如下:
在Laravel 5.3中,@foreach
指令提供了更加强大的功能,在每一个@foreach
循环体中都可以调用一个新的$loop
变量。该变量是一个stdClass
实例,包含了当前循环的元数据信息,让我们来看一下它提供的属性:
- index:从1开始的循环索引,1意味着是第一个条目。
- remaining:循环还有多少个条目,比如当前是3个中的第一个,那么会返回2;
- count:循环总条目数
- first:是否是第一个
- last:是否是最后一个
- depth:循环的层级
- parent:如果循环位于另一个@foreach中,返回父循环引用,否则返回null
data =['a','b','c','d'];
@foreach($data as $v)
<p>
{{$loop->count}} // 输出 4
{{$loop->index}} //输出0,1,2,3
</p>
@foreach($data as $key=>$value)
<p>
@if($loop->first)
{{$loop->parent->depth}} // 1 返回父循环,父循环层级为1
@elseif($loop->last) //最后
{{$loop->depth}} //2 当前循环层数2
@else
{{$loop->remaining}} //2,1
@endif
</p>
@endforeach
@endforeach
发现$loop->index ,$loop->remaining都是从0开始计数,并不是从1开始
后怀疑是否和键值有关,测试data=[1=>'a',2=>'b',3=>'c',4=>'d'];
测试结果还是一致。
后续再看一下英文文档吧。