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

Laravel Blade中include传参后explode分割报错Undefined offset:1如何解决

报错原因

你触发Undefined offset: 1报错的直接原因是:explode('@', $key)执行后返回的数组只有1个元素,不存在下标为1的值,访问不存在的数组下标就会抛出该异常。
触发问题的根源是你传参时的写法错误:你在父模板里传的key值是加了单引号的字符串'emails[0]',这个字符串本身不包含@符号,拆分后自然无法拿到第二个元素。如果你本意是要传递emails数组第0位的真实邮箱值,现在的写法相当于直接传了固定字符串,没有读取变量内容。

解决方法

1. 修正传参写法(必改)

把父模板里的传参代码中单引号去掉,直接传变量值:

@include('components.protected-email', ['key' => $emails[0]])

只要$emails[0]是合法的带@的邮箱地址,拆分逻辑就可以正常运行。

2. 增加容错处理(可选,优化稳定性)

可以在子模板里对拆分逻辑做兼容性处理,避免因为传入不合法的邮箱值再次抛出报错:

@php
$split = explode('@', $key ?? '');
$first = $split[0] ?? '';
$second = $split[1] ?? '';
@endphp
<a href="" data-first="{{ $first }}" data-second="{{ $second }}" class="js-combaine-email"></a>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:39:02