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

PHP(CodeIgniter)使用Excel库遇大括号偏移语法错误如何解决?

解决CodeIgniter引入Excel库时的语法错误问题

错误原因

这个错误是因为PHP 7.4及以上版本废弃了用大括号{}访问数组或字符串偏移的语法,你当前使用的Excel库是旧版本,代码中仍在使用这种已被废弃的写法。

解决方法

1. 替换为兼容高PHP版本的Excel库(推荐)

放弃使用旧的Excel库,改用PHPExcel的官方继任者PhpSpreadsheet,它完全兼容PHP 7.4+,且持续维护:

  • 用Composer安装:
    composer require phpoffice/phpspreadsheet
    
  • 配置CodeIgniter开启Composer自动加载:打开application/config/config.php,设置
    $config['composer_autoload'] = TRUE;
    
  • 使用时直接实例化类,无需通过CodeIgniter的library加载:
    public function __construct() {
        parent::__construct();
        $this->spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
        $this->load->model('Crud_model');
    }
    

2. 手动修改旧库代码(临时方案)

如果暂时不想更换库,需要遍历Excel库的所有文件,将所有使用大括号访问偏移的代码替换为方括号:

  • 找到所有类似$string{0}、$array{1}的代码,替换为$string[0]、$array[1]
  • 注意要检查所有文件,避免遗漏任何一处,否则仍会出现错误。

3. 确认PHP版本适配

确保你的PHP版本在7.4及以上,若版本过低,虽然不会触发该错误,但会面临安全和兼容性问题,建议升级PHP到支持的稳定版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:55:29