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

PHP遍历嵌套数组报Illegal string offset 'pakket'错误怎么解决?

错误原因
  • 你写的外层foreach会遍历顶层数组的每一个元素,而顶层数组里大部分元素(比如naam、email、phone等)的值都是字符串类型,不是数组。当循环到这些字符串元素时,尝试用$element['pakket']获取字符串的pakket下标,PHP不支持字符串使用字符串作为偏移量取值,因此触发了Illegal string offset 'pakket'警告。
  • 逻辑上也不需要遍历整个顶层数组,pakket是顶层数组的直接子键,直接读取即可,不需要循环所有顶层元素。
修复后的代码

直接输出你要的结果的代码如下:

foreach ($array['pakket'] as $index => $pakketItem) {
    echo "Pakket {$index}:\n";
    echo $pakketItem['pakket_type'] . "\n\n";
}

如果需要避免pakket键不存在或者不是数组的场景下报错,可以增加前置判断:

if (isset($array['pakket']) && is_array($array['pakket'])) {
    foreach ($array['pakket'] as $index => $pakketItem) {
        echo "Pakket {$index}:\n";
        echo $pakketItem['pakket_type'] . "\n\n";
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:06:01