You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel视图中如何在5个foreach循环中实现$i连续递增

嘿,这个需求其实很容易实现,我给你两种常用的方案,你可以根据自己的实际场景选择:

方案一:手动维护计数变量

这种方法适合你需要对每个foreach循环做单独逻辑处理的场景,核心就是在所有循环前初始化一个计数变量,然后在每个循环里让它自增:

{{-- 先初始化计数变量,从1开始 --}}
@php
    $i = 1;
@endphp

@foreach($questions as $question)
    {{ $i++ }} {{-- 输出当前值后自动加1 --}}
@endforeach

@foreach($inquiries as $question)
    {{ $i++ }}
@endforeach

@foreach($queries as $question)
    {{ $i++ }}
@endforeach

@foreach($examinations as $question)
    {{ $i++ }}
@endforeach

@foreach($inquisitions as $question)
    {{ $i++ }}
@endforeach

这样不管有多少个foreach,$i都会从1开始连续递增,完全符合你的需求。

方案二:合并集合后统一遍历

如果这几个集合的元素结构类似(比如都是同一模型的实例),而且你不需要对每个集合做特殊逻辑处理,那可以把它们合并成一个大集合,只做一次循环,序号自然就连续了:

{{-- 合并所有集合 --}}
@php
    $allItems = $questions->concat($inquiries)->concat($queries)->concat($examinations)->concat($inquisitions);
@endphp

{{-- 遍历合并后的集合,利用索引+1得到从1开始的序号 --}}
@foreach($allItems as $index => $item)
    {{ $index + 1 }}
@endforeach

这种方法更简洁,代码量更少,适合不需要单独处理每个集合的场景。

内容的提问来源于stack exchange,提问作者Ruka Xing

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:30:47