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

Laravel遍历数组报错:htmlspecialchars参数类型不匹配求助

问题解决方法

问题原因

你用array(explode(",",$im->features))拆分字符串时犯了个小错误:explode函数本身就会返回一维数组,你再用array()包裹它,就变成了二维数组。比如原字符串3.99,10 weeks,300拆分后,$fn的结构是:

[
    ['3.99', '10 weeks', '300']
]

当你用@foreach($fn as $fun)遍历的时候,$fun拿到的是这个子数组,而Laravel的{{ $fun }}会调用htmlspecialchars处理内容,这个函数只接受字符串,传入数组自然就报错了。

解决办法

直接去掉外层的array()包裹,改成:

$fn = explode(",", $im->features);

这样$fn就是一维数组:['3.99', '10 weeks', '300'],再用原来的foreach循环:

@foreach($fn as $fun)
    {{ $fun }}<br>
@endforeach

就能正常输出每个字符串了。

如果因为特殊情况必须保留二维数组(不推荐),可以嵌套一层foreach遍历子数组:

@foreach($fn as $subArray)
    @foreach($subArray as $fun)
        {{ $fun }}<br>
    @endforeach
@endforeach

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:44:53