类 - 变量声明

2022-08-30 20:29:42

当PHP类变量的声明时,我们不能执行任何表达式,例如:

class A
{
    $a = 10 + 5;
}

只有我们可以提供常量,例如:

class A
{
   $a = 100;
}

有谁知道为什么会这样吗?


答案 1

这是因为不允许将表达式作为字段默认值。请改用构造函数来初始化变量。

我建议你这样做。

class A
{
    public $a;

    function __construct()
    {
        return $this->a = 10 + 5;
    }
}

$a1 = new A;
echo $a1->a; //"prints" 15

答案 2

不能使用语句或函数,只能使用标量值。这是因为类变量是在编译时(运行时之前)启动的。类构造函数应该用于通过语句/函数启动属性。


推荐