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

时间:2011-05-02 08:45:50

标签: php arrays

  

可能重复:
  Cannot use concatenation when declaring default class properties in PHP?

以下代码:

public $Options = array (0  => 'aaaaa' . 'bbbbb');

给出以下错误:

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

我原以为它只是给了aaaaabbbbb的值

这是PHP5。我错过了一些东西,我相信我过去已经使用了很多次。

感谢您的帮助

3 个答案:

答案 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'));