首页 > 解决方案 > 我如何将值存储在数组中

问题描述

这是代码工作的示例,但我想要一些不同的东西。

/** @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, 
    ];

标签: phparraysdate

解决方案


文档

它们是通过使用关键字 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,
        ];
    }
}

推荐阅读