当前位置: 首页 > 知识库问答 >
问题:

PHPExcel错误:不推荐使用带有花括号的数组和字符串偏移量访问语法

昝唯
2023-03-14

我刚刚将phpexcel更新为phpspreadsheet,我注意到弹出以下错误:

不推荐使用带有花括号的ErrorException(E_DEPRECATED)数组和字符串偏移量访问语法

需要“classes/phpExcel.php”;

下面是触发上述错误的部分代码:

  public function stream_open($path, $mode, $options, &$opened_path)
    {
        // Check for mode
        if ($mode{0} != 'r') { //Error Line
            throw new PHPExcel_Reader_Exception('Mode ' . $mode . ' is not supported. Only read mode is supported.');
        }
 

文件:project/public/classes/phpexcel.php

/** PHPExcel root directory */
if (!defined('PHPEXCEL_ROOT')) {
    define('PHPEXCEL_ROOT', dirname(__FILE__) . '/');
    require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); //Error Line
}

文件:app/http/controllers/analyticsauth/statement.old.php

use PHPExcel_Reader_Excel2007;
use PHPExcel; 
use PHPExcel_IOFactory;
use ZipArchive;
require 'Classes/PHPExcel.php'; //Error Line

文件:project/public/classes/phpexcel/autoloader.php

PHPExcel_Autoloader::Register();
PHPExcel_Shared_ZipStreamWrapper::register(); //Error Line
if (ini_get('mbstring.func_overload') & 2) {
    throw new Exception('Multibyte function overloading in PHP must be disabled for string functions (2).');
}

共有1个答案

颛孙天宇
2023-03-14

可以通过将花括号{}替换为方括号[]来解决此问题

我要赞扬@Heysora先生,他发表了评论,指出了这一特定案例中的确切问题。

 类似资料:
  • 我刚刚将我的更新为,我注意到弹出了这个错误: ErrorException(E\u不推荐)不推荐使用带大括号的数组和字符串偏移量访问语法 需要“类/PHPExcel”。php’; 这是触发上述错误的部分代码: 文件: 文件:

  • 问题内容: PHP字符串文字中的(花括号)是什么意思? 问题答案: 这是字符串插值的复杂(弯曲)语法。从手册中: 复杂(卷曲)语法 之所以称其为“复杂”,是因为语法复杂,而是因为它允许使用复杂的表达式。 可以通过此语法包括具有字符串表示形式的任何标量变量,数组元素或对象属性。只需以与出现在字符串外部相同的方式编写表达式,然后将其包装在和中即可。由于无法转义,因此仅在紧随其后的才会识别此语法。使用

  • 我试图写一个程序,读取一串文本,并打印文本中的所有直方图及其频率。 输入示例: 相应的输出: 当我尝试这个示例输入时,它输出 我该如何修复它,使它不会有括号和逗号?

  • 我想打印如下内容: abc、def、ghi、JKL、mno、pqr 我刚写的时候: 所以我试着: 这给了我: abc、def、ghi、jkl、mno、pqr

  • 问题内容: 我正在尝试使用示例php代码模拟此错误,但尚未成功。任何帮助都会很棒。 “不能将字符串偏移量用作数组” 问题答案: 对于PHP4 …这重现了错误: 对于PHP5 …这重现了错误: (实际上来自bugs.php.net) 编辑, 因此,即使是字符串,为什么错误也不会出现在第一个if条件中。 因为PHP是一种非常宽容的编程语言,所以我猜。我将用代码说明我的想法:

  • 我一直在仔细阅读这篇SO文章,试图将花括号文字放在我的插值字符串周围。 我对的预期结果是“{foo}”。我曾尝试用反斜杠转义外部的花括号,但这不起作用,我也没想到会这样。我怎么才能在插入的字符串变量周围加上文字花括号?更准确的例子是: 预计:“我想吃一些{foo}。” 实际:“我想吃一些{testString}。” 我怎样才能做到这一点?(我还在和之间尝试了,但没有成功。)