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

Laravel Blade中@foreach后出现未预期endforeach语法错误排查

Laravel 5.8 Blade语法错误原因及解决办法

问题原因

你遇到的syntax error, unexpected 'endforeach' (T_ENDFOREACH)错误,是因为Laravel 5.8的Blade编译器在解析空的@php @endphp块时,会生成不合法的PHP代码结构。当@foreach内部存在完全空的PHP代码块时,Blade编译后的代码会出现语法断层,导致PHP解释器无法正确识别后续的@endforeach指令。

在@foreach后使用@php是否有问题?

本身没问题,只要@php块内不是完全空的。不管是在@foreach里还是其他Blade指令内,只要@php块包含合法的PHP代码(哪怕只是一行注释、一个分号),都能正常编译运行。

解决办法

  • 给空的@php块填充内容:哪怕暂时不需要逻辑,也可以加个注释或者分号占位,比如:
@php($counter_foreach = 0)
@foreach($memnames as $mem=>$memname)
@php 
    // 后续要加的PHP逻辑写这里,先留个注释占位
@endphp 
@endforeach
  • 暂时不需要的话直接删掉空的@php @endphp标签,等需要编写PHP逻辑时再添加。

内容的提问来源于stack exchange,提问作者Pouya Vaghefi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:45:42