PHP错误,成员初始化器中的array()串联

时间:2012-03-08 11:19:05

标签: php arrays string properties concatenation

我收到以下代码的错误:

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

Parse error: syntax error, unexpected '.', expecting ')' 

我真的很蠢吗?当然我可以在这里连接字符串?

这是在类中声明的变量。

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

这是一个错误,你不能初始化像这样的属性

  

属性

     

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