我刚刚将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).');
}
可以通过将花括号{}
替换为方括号[]
来解决此问题
我要赞扬@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}。” 我怎样才能做到这一点?(我还在和之间尝试了,但没有成功。)