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

Laravel中如何单次遍历将数组按每3个元素为一组渲染输出

Laravel 实现数组按固定数量分组输出HTML方案

你要的每组3个元素嵌套一层<div>的效果,直接用Laravel内置的集合chunk()方法就能实现,不需要手写循环计数、取模判断的逻辑。

实现逻辑

  • 数组拆分:chunk()方法接收每组元素个数作为参数,会自动把一维数组按指定长度拆分成多个子分组,正好匹配你每组3个span的需求。
  • 视图渲染:遍历拆分后的分组,每个分组输出一层<div>,分组内遍历输出每个元素的<span>标签即可。

控制器层处理示例

如果你习惯提前处理好数据再传给视图,可以在控制器中写如下代码:

// 原数组
$carList = ["Volvo", "BMW", "Toyota", "fbf", "fddg","jpt1","jpt2","jpt3","jpt4"];
// 按每组3个元素拆分
$groupedList = collect($carList)->chunk(3);
// 传参到视图
return view('car.show', compact('groupedList'));

Blade模板渲染代码

在对应Blade文件中遍历分组输出结构即可:

@foreach($groupedList as $group)
<div>
    @foreach($group as $item)
    <span>{{ $item }}</span>
    @endforeach
</div>
@endforeach

如果你不想在控制器处理,也可以直接在Blade模板内完成数组拆分和渲染,代码如下:

@foreach(collect(["Volvo", "BMW", "Toyota", "fbf", "fddg","jpt1","jpt2","jpt3","jpt4"])->chunk(3) as $group)
<div>
    @foreach($group as $item)
    <span>{{ $item }}</span>
    @endforeach
</div>
@endforeach

说明:chunk()方法会自动处理分组边界,哪怕最后一组元素不足3个也能正常渲染,不会出现语法错误,最终输出的HTML结构和你给出的示例完全一致。

内容的提问来源于stack exchange,提问作者Reams Kamat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:45:43