Parse error: syntax error, unexpected '(', expecting ',' or ';' Smarty PHP

Parse error: syntax error, unexpected '(', expecting ',' or ';' Smarty PHP

大家好我这里有个小问题!

我已经声明了一个数组

class CommonArray {
    public static $foundedyear_array = array_combine(range(date("Y"), 1944), range(date("Y"), 1944)); 

}

在 Controller 中我这样称呼它

$FoundedYearArr = CommonArray::$foundedyear_array;
$this->view->assign("FoundedYearArr", $FoundedYearArr );

然后就出问题了 解析错误:语法错误,意外的“(”,期待“,”或“;”在

public static $foundedyear_array = array_combine(range(date("Y"), 1944), range(date("Y"), 1944)); 

我该如何解决这个问题才能取出数组? 谢谢大家!

docs for object property syntax 阅读:

declaration may include an initialization, but this initialization must be a constant value

这意味着您不能使用函数来初始化 class 属性。将其更改为函数:

class CommonArray {
    public static function foundedyear_array() {
        return array_combine(range(date("Y"), 1944), range(date("Y"), 1944));
    } 
}

然后称它为

$FoundedYearArr = CommonArray::foundedyear_array();