Php 在类的属性中的数组中调用函数

Php 在类的属性中的数组中调用函数,php,arrays,class,properties,Php,Arrays,Class,Properties,有人能解释一下为什么下面的内容不起作用,或者给我一个链接来解释原因吗?我在这里或谷歌上都找不到 这是有效的: var_dump( array( 'test' => rand(1,5) ) ); $myClass = new myClass(); var_dump($myClass->array); class myClass { public $array = array( 'test' => rand(1,5) ); } 这不是: var_dump( arr

有人能解释一下为什么下面的内容不起作用,或者给我一个链接来解释原因吗?我在这里或谷歌上都找不到

这是有效的:

var_dump( array( 'test' => rand(1,5) ) );
$myClass = new myClass();
var_dump($myClass->array);

class myClass {

    public $array = array( 'test' => rand(1,5) );

}
这不是:

var_dump( array( 'test' => rand(1,5) ) );
$myClass = new myClass();
var_dump($myClass->array);

class myClass {

    public $array = array( 'test' => rand(1,5) );

}
它不喜欢数组中的函数调用:

Parse error: syntax error, unexpected '(', expecting ')'
我想这是因为我缺乏理解。如果有人能帮助我理解它,这将是很好的

谢谢

$myClass = new myClass();
var_dump($myClass->array);

class myClass {

    public $array;

    function myClass(){
        $this -> array =  array( 'test' => rand(1,5) );
    }

}   

有关更多详细信息:

在示例中使用旧构造函数有什么特别的原因吗?没有特别的原因,它只会起作用:)…直到您将类放入名称空间感谢dev提供的链接。我已经使用了你的方法(使用_构造),但我只是想知道为什么不能将它声明为属性:)它看起来不是重复的。你不能在类中编写它properties@ShaktiSinghOP要求使用计算值初始化属性,例如,取决于运行时信息。这与链接副本中的问题相同。而且它不起作用的原因与公认答案中引用的相同。