如何在foreach循环中实现自增编号?自增编号从6开始问题排查
自增编号异常排查修复
问题原因
- 计数器自增逻辑位置错误:你将
$i++放在了@if条件判断的外面,无论循环到的条目是否满足$sub->id == $tugas->submit_id的筛选条件,计数器都会加1。当循环到第一个符合条件的条目时,前面已经有5个不符合条件的条目完成了循环,计数器已经累加为6,因此编号从6开始显示。 - 存在HTML语法错误:输出编号的
<td>标签多写了一个<符号,原代码为{{ $i }}</</td>,会导致页面渲染异常。
修复代码
将$i++移动到@if判断内部,仅在渲染符合条件的表格行时才触发计数器自增,同时修正标签语法错误,修正后代码如下:
@php $i = 1 @endphp {{-- 若需要编号从1开始可直接初始化为此值,要从0开始则保留初始值0即可 --}} @foreach ($submited as $tugas) @if ($sub->id == $tugas->submit_id) <tr> <td>{{ $i }}</td> <td>{{$tugas->nama}}</td> <td> <a href="/kelas1/matematika/submit/download/{{$tugas->file}}" class="link-secondary"><i class="fas fa-file-download"> {{$tugas->file}}</i></a> </td> @if ($tugas->created_at->isBefore($sub->bataswaktu)) <td class="table-success">On time</td> @else <td class="table-danger">Late</td> @endif </tr> @php $i++ @endphp {{-- 仅符合筛选条件时才触发计数器自增 --}} @endif @endforeach
内容的提问来源于stack exchange,提问作者Tomoro
相关产品推荐
相关产品推荐

