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

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

宋鸿德
2023-03-14

我刚刚将我的phpexcel更新为phpspreadtable,我注意到弹出了这个错误:

ErrorException(E\u不推荐)不推荐使用带大括号的数组和字符串偏移量访问语法

需要“类/PHPExcel”。php’;

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

文件:项目/公共/类/PHPExcel/共享/ZipStreamWrapper.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。古老的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).');
}

谢谢你


共有2个答案

徐博雅
2023-03-14

这在php 7中不再使用$mode{0}。它已被弃用。与其使用它,不如使用此$mode[0]

袁宜民
2023-03-14

这可以通过将花括号替换为方括号来解决

我要赞扬@HeySora,他发表了评论并指出了这个特定案例中的确切问题。

 类似资料:
  • 我刚刚将更新为,我注意到弹出以下错误: 不推荐使用带有花括号的ErrorException(E_DEPRECATED)数组和字符串偏移量访问语法 需要“classes/phpExcel.php”; 下面是触发上述错误的部分代码: 文件: 文件: 文件:

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

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

  • 有人能告诉我这个: 在第二行,我得到一个错误。但这行得通: 我需要更多的文字后,我打印的名称。有人知道怎么做吗?

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

  • 在我的本地主机[PHP版本5.5.9-1ubuntu4.5]上,以下代码正常工作: 同时,该代码也在运行: 但在生产服务器[PHP版本5.3.3-7 squeeze23]上,在这两种情况下,我都有一个错误: 错误:致命错误(4):语法错误,意外的'[' 怎么回事啊?我如何用最简单的方法修复它?(因为在项目中改变所有数组是非常不可行的,我甚至不知道如何管理第二种情况下与Auth...)