可能重复:
在PHP中声明默认类属性时不能使用串联?
以下代码:
public $Options = array (0 => 'aaaaa' . 'bbbbb');
给出以下错误:
Parse error: syntax error, unexpected '.', expecting ')'
我本以为它只是给0 aaaaa-bbbbb-的值
这是PHP5。我是不是错过了什么,我相信我过去已经用过这么多次了。
感谢您的帮助
这是因为您这样做是作为类属性声明的一部分,这是不可能的,因为:
声明可能包括初始化,但是初始化必须是常量值——也就是说,它必须能够在编译时评估,并且不得取决于中的运行时信息订单待评估。
有关更多信息,请参阅PHP手册属性页。
然而,您可以根据需要在构造函数中设置此属性,一切都会好起来:
class TestClass {
public $Options;
function __construct() {
$this->Options = array (0 => 'aaaaa' . 'bbbbb');
}
}
在php中,类属性定义中的串联字符串无效。您需要在类的构造函数中执行此操作。
奇怪。我测试了你的代码。它在这里工作。你试过括号吗?
public $Options = array (0 => ('aaaaa' . 'bbbbb'));