You need to enable JavaScript to run this app. 如何在foreach循环中实现自增编号?自增编号从6开始问题排查
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 02:57:03