0

我想将一个常数的结果分配count给一个常数。这是我要实现的目标的示例:

class A
{
    private $a = count('Hello'); # PHP Fatal error:  Constant expression contains invalid operations
}

$a = new A();
echo $a->a;

C++ 中的等效工作:

#include <iostream>

class A
{
    public:
    const int a = sizeof("Hello");
};

int main(void)
{
    A a = A();

    std::cout << a.a << std::endl;
    return 0;
}

有没有办法在 PHP 中实现这一点而不使用构造函数或从类外部调用方法?

4

1 回答 1

0

您不能使用表达式的结果来初始化类属性。只是简单的任务。

private $a = 5; //valid

但是你可以在类的构造函数中做到这一点。

class A
{
    private $a.
    
    public function __construct()
    {
        $this->a = count('Hello');
    }
}
于 2020-09-26T14:40:22.953 回答