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

Laravel报错:Invalid argument supplied for foreach() 求助

问题排查与解决

嘿,我一眼就瞅到你报错的根源啦!这个Invalid argument supplied for foreach()错误,完全是因为你在Blade视图的foreach循环里写错了变量名。

具体错误点

在你的contact.blade.php里,这一行代码:

@foreach(@people as $person)

你把数组变量$people写成了@people——Blade里引用传递过来的变量必须用**美元符号$**开头,而@是用来标记Blade指令(比如@foreach、@if)的,所以这里@people根本不是你控制器里传过来的那个数组,自然会给foreach传递无效参数。

修正后的完整视图代码

把@people改成$people就搞定了,修正后的代码如下:

@extends('layouts.app') 
@section('content') 
<h1>Contact Page</h1> 
@if (count($people)) 
<ul> 
@foreach($people as $person) {{-- 这里把@改成$ --}}
<li>{{$person}}</li> 
@endforeach 
</ul> 
@endif 
@endsection 
@section('footer') 
@endsection

额外小建议

其实Laravel里判断数组是否非空可以更简洁,@if(count($people))可以直接写成@if($people),因为空数组在PHP中会被视为布尔值false,这样代码更清爽~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:17:48