我目前的主机上只有PHP 5.4,我的代码中总是会遇到类常量错误。显然,它不允许定义数组常量。我将常量更改为静态变量以使其工作。现在我得到这个语法错误:
syntax error, unexpected '.', expecting ']'
我尝试定义由连接常量组成的字符串。
public static $arr = [KEY_ONE => "string " . MyClass::CONSTANT . " string"]
这是可能的,还是现在所有常量都必须是静态变量?
答案 0 :(得分:2)
在变量声明中,您无法进行操作。无论是串联还是数学运算。
您可以在构造方法中执行此操作;
public static $arr = [];
public function __construct(){
self::$arr = [KEY_ONE => "string " . MyClass::CONSTANT . " string"];
}
答案 1 :(得分:0)
如果您正在尝试使用这样的数组:
public static $arr = array("KEY_ONE" => "string " . MyClass::CONSTANT . " string");