为什么不能像这样使用range()?

时间:2012-03-25 08:02:48

标签: php

为什么不能在这里分配带range()的变量?

class foo
{
    //
    // Error
    public static $bar = range(1, 10);

    //
    // Error
    public $bar = range(1, 10);

    //
    // Works
    public static $zoo = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
}

3 个答案:

答案 0 :(得分:4)

您无法使用函数调用的结果初始化类属性。

array()是一种语言结构,而不是一种功能,所以它确实有效。

答案 1 :(得分:2)

答案 2 :(得分:0)

你可以在构造函数中初始化它:

class foo
{
    // Works
    public $bar;
    
    function __construct() {
        $bar = range(1, 10);
    }
}