可能重复:
Cannot use concatenation when declaring default class properties in PHP?
以下代码:
public $Options = array (0 => 'aaaaa' . 'bbbbb');
给出以下错误:
Parse error: syntax error, unexpected '.', expecting ')'
我原以为它只是给了aaaaabbbbb的值
这是PHP5。我错过了一些东西,我相信我过去已经使用了很多次。
感谢您的帮助
答案 0 :(得分:4)
这是因为你作为类属性声明的一部分这样做是不可能的,因为:
...声明可能包括 初始化,但是这个 初始化必须是常量 价值 - 也就是说,它必须能够 在编译时评估,但不得 依赖于运行时信息 为了评估。
有关详细信息,请参阅PHP manual properties page。
但是,您可以在构造函数中根据需要设置此属性,并且一切都会很好:
class TestClass {
public $Options;
function __construct() {
$this->Options = array (0 => 'aaaaa' . 'bbbbb');
}
}
答案 1 :(得分:1)
在类的属性定义中连接字符串是invalid in php。您需要在类的构造函数中执行此操作。
答案 2 :(得分:0)
奇怪。我测试了你的代码。它在这里工作。 你试过括号吗?
public $Options = array (0 => ('aaaaa' . 'bbbbb'));