PHP 致命错误:未捕获错误:字符串不支持 [] 运算符



我意识到这个问题已经被问了很多次,但我还没有找到解决这个问题的方法。

我正在使用pChart(pData v2.1.4(。它在运行 php v5.6.30 的托管站点上运行良好,但我在运行 php v7.2.5 的 XAMMP 上收到具有相同代码的致命错误。

错误是指 pData 中的这一行:(注意:pData 是由第三方编写的类,因此不是我的代码(

function convertToArray($Value)
{ $Values = ""; $Values[] = $Value; return($Values); }

关于如何解决问题的任何建议?我尝试在代码前面将$Values声明为数组,但这似乎会导致更多错误。

另外,这个 php 版本是否相关,如果我的托管站点移动到较新版本的 php,我将开始出现错误?

您已将$Values声明为字符串:

$Values = "";

修复替换为数组的问题:

function convertToArray($Value)
{
$Values = [];
$Values[] = $Value;
return $Values;
}

但是,在我看来,没有理由使用此功能。 在您的代码中,只需定义一个相同变量的数组:

$Value = [$Value];

它将执行与您的函数相同的操作。

你不能将字符串转换为数组 ($Values = ""; $Values[] = $Value;(,所以正确的变体:

function convertToArray($value) {
return [$value];
}

值应声明为 数组 试试这个。

function convertToArray($Value){
$Values = [];
$Values[] = $Value;
return $Values;
}

试试这个,

function convertToArray($Value){
$Values = array(); // initialize 
if ( isset($Value) ) $Values[] = $Value; 
return($Values); 
}

让我知道它是否有效。

最新更新