PHP错误,成员初始化程序中的array()中存在串联


PHP error, concatenation in array() in member initialiser

我收到以下代码的错误:

public $arr = array('email' => 'admin@' . str_replace('http://', '', SERVER_ROOT));
Parse error: syntax error, unexpected '.', expecting ')' 

我真的很愚蠢吗?我肯定可以在这里连接字符串吗?

这是一个在类中声明的变量。

不能用表达式初始化类属性。您必须在构造函数中执行此操作,或者使用固定值,如常规字符串。

这是一个错误,您无法初始化类似的属性

属性

类成员变量称为"属性"。你也可以看到它们指使用其他术语,如"属性"或"字段",但是出于本参考的目的,我们将使用"属性"。它们是通过使用关键字public、protected或private之一来定义,然后是一个普通变量声明。本声明可包含一个初始化,,但此初始化必须是一个常量值——也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估