【问题标题】:How I can store values in Array我如何将值存储在数组中
【发布时间】:2021-06-10 11:26:00
【问题描述】:

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

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

【问题讨论】:

  • 这是因为date(Y) 抛出错误。打开错误报告。应该是(int)date('Y')
  • 举个例子会很有帮助。
  • 到目前为止你尝试过什么?你被困在哪里了?通过调试现有代码,应该不难发现问题

标签: php arrays date


【解决方案1】:

来自docs

从 PHP 7.4 开始,可以使用关键字 public、protected 或 private 之一来定义它们,然后是类型声明,然后是普通变量声明。 这个声明可以包含一个初始化,但是这个初始化必须是一个常数值

*我强调


这意味着,您需要从其他地方初始化属性。例如有问题的类的构造函数。例如:

class Example
{
    private array $validYears;

    public function __construct()
    {
        $Years = date('Y');

        $this->validYears = [
            $Years - 3, $Years - 2, $Years - 1, $Years, $Years + 1,
        ];
    }
}

【讨论】:

    猜你喜欢
    • 2014-08-18
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多