我意识到这个问题已经被问过很多次了,但是我还没有找到解决这个问题的方法。
我正在使用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,我将开始遇到此错误?
答案 0 :(得分:1)
您无法将字符串转换为数组($Values = ""; $Values[] = $Value;
),因此是正确的变体:
function convertToArray($value) {
return [$value];
}
答案 1 :(得分:1)
值应声明为Array。
Spree::Money.default_formatting_rules[:symbol_position] = :before
答案 2 :(得分:0)
您已将$Values
声明为字符串:
$Values = "";
修复用数组替换:
function convertToArray($Value)
{
$Values = [];
$Values[] = $Value;
return $Values;
}
但是,我认为没有理由使用此功能。 在您的代码中,只需使用以下命令定义相同变量的数组:
$Value = [$Value];
它将与您的功能相同。
答案 3 :(得分:0)
尝试一下
function convertToArray($Value){
$Values = array(); // initialize
if ( isset($Value) ) $Values[] = $Value;
return($Values);
}
让我知道它是否有效。