在变量声明中将值赋给变量


assign value to variable on variable declaration

我试图如下声明变量:

class GumballMachine {
private static $SOLD_OUT = 0;
private $state = $SOLD_OUT;
    private function GumballMachine (){}
}

如何将$SOLD_OUT的值分配给$state,或者有其他方法吗?

您可以使用类常量来完成此操作

    const SOLD_OUT = 0;
    private $state = self::SOLD_OUT;
`class GumballMachine {
 private static $SOLD_OUT = 0;
 private $state = 0;
private function GumballMachine ()
 {
  $this->state=$SOLD_OUT;
 }
}`

您需要使用一个常数值。此外,您需要将构造函数声明为公共构造函数,否则将遇到错误。

class GumballMachine {
    const SOLD_OUT = 0;
    private $state = self::SOLD_OUT;
    public function GumballMachine () { }
}