此代码提供错误“意外”。',期待')'“。为什么这个无效?我认为由于两个部分都是不变的,我可以将它们连接起来。 PHP新手。感谢。
class c {
const HELLO = 'hello';
public $arr = array(
'hw' => self::HELLO . 'world'
);
}
答案 0 :(得分:6)
类属性必须具有常量初始值。这两个字符串的串联不是一个常数值。
[Property]声明可能包含初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且不能依赖于运行时信息以便进行评估。
您可以将属性初始化放在构造函数中:
public function __construct()
{
$this->arr = array(
'hw' => self::HELLO . 'world'
);
}