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

CodeIgniter后台面板报错Trying to access array offset解决求助

问题解决步骤

一、解决「Trying to access array offset on value of type bool」错误

这个错误的根源是控制器中把$CI->reports_list设为了false,但视图里直接将其当作数组遍历,导致循环时$row变成布尔值false,访问$row['name']自然报错。

修复方案二选一:

  • 控制器层面修正:把设置false的代码改成空数组,确保变量始终是可遍历的类型:
    // 原代码:$CI->reports_list = false;
    $CI->reports_list = [];
    
  • 视图层面兼容:在遍历前先判断变量是否为有效数组,避免遍历布尔值:
    <?php if (is_array($reports_list) && !empty($reports_list)): ?>
        <?php foreach ($reports_list as $row): ?>
            <!-- 原$row['name']调用代码 -->
            <?= $row['name'] ?>
        <?php endforeach; ?>
    <?php endif; ?>
    

二、解决「Undefined variable: id」错误

这个错误是因为你在判断$row为数组后,代码中用到了未定义的$id变量,分三种情况处理:

  • 情况1:$id应该从$row中获取
    检查代码中是否把$row['id']误写成了$id,修正为:
    // 原错误代码:echo $id;
    echo $row['id'];
    
  • 情况2:$id是外部传入的变量
    如果$id需要从控制器传递到视图,确保控制器在加载视图时传递该变量:
    // 控制器中加载视图时添加$id参数
    $this->load->view('你的后台视图文件名', [
        'reports_list' => $CI->reports_list,
        'id' => 你需要的ID值 // 补充这一行
    ]);
    
  • 情况3:$id是临时变量
    如果是代码中临时使用的变量,先初始化再使用:
    $id = ''; // 先初始化
    // 后续使用$id的代码
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:21:58