在数组中连接两个字符串时出错-PHP


error when I concatenate two strings in an array - PHP

可能重复:
在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'));