这是代码工作的示例,但我希望有所不同。
/** @var array */
private $LoadYear = [
'2018', '2019', '2020', '2021', '2022'
];
我想要的是动态存储日期,这意味着日期应该是过去一年的两个日期和当前一年的一个日期。
我试过了。但这不起作用
$Years =date(Y);
/** @var array */
private $validYears = [
$Years-3, $Years-2, $Years-1, $Years, $Years+1,
];
来自文档:
它们是通过使用关键字public、protected或private(可选(之一来定义的,从PHP 7.4开始,然后是类型声明,然后是普通变量声明此声明可能包括一个初始化,但此初始化必须是一个常数值。
*我强调
这意味着,您需要从其他地方初始化属性。例如,有问题的类的构造函数。例如:
class Example
{
private array $validYears;
public function __construct()
{
$Years = date('Y');
$this->validYears = [
$Years - 3, $Years - 2, $Years - 1, $Years, $Years + 1,
];
}
}