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

PHP中访问数组下一个元素遇Undefined offset报错的解决方法

问题原因

错误Undefined offset: 4是因为你的数组仅有4个元素,索引范围为0-3。当循环执行到$i=3时,$i+1=4,而数组不存在索引4的元素,因此触发了未定义偏移量的错误。你的循环条件$i < count($array)会让$i取到0、1、2、3四个值,最后一次循环必然越界。

解决方案

调整循环的终止条件,让$i的最大值为count($array)-2,这样$i+1始终不会超出数组的最大索引count($array)-1。另外你的if和else分支逻辑完全一致,可以直接合并简化:

修正后的代码

$array = ["B", "C", "D", "A"];
$sequence_arr = [];

// 循环到倒数第二个元素,确保$i+1存在
for($i=0; $i < count($array)-1; $i++) {
    $sequence_arr[] = $array[$i] . $array[$i+1];
}

print_r($sequence_arr);

运行结果

生成的数组如下:

Array
(
    [0] => BC
    [1] => CD
    [2] => DA
)

可选写法(避免手动计算索引)

如果不想手动处理终止条件,也可以用数组指针结合循环实现:

$array = ["B", "C", "D", "A"];
$sequence_arr = [];
$prev = reset($array);

while ($current = next($array)) {
    $sequence_arr[] = $prev . $current;
    $prev = $current;
}

print_r($sequence_arr);

这种写法会自动遍历到倒数第二个元素,从根源避免索引越界问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:18:29