如何给PHP中的数字重复赋值?

How to repeatedly assign values to numbers in PHP?

我需要为多个年份分配三种颜色并且颜色重复。

当前工作代码是一个数组,其中年份数字作为键,颜色作为值。

只有三种颜色(黑色、蓝色、绿色),但(希望 ;))没有时间限制。

示例代码:

$year=2017;
$color=array(
  2017 => "black",
  2018 => "blue",
  2019 => "green",
  2020 => "black",
  2021 => "blue",
  2023 => "green",
  2024 => "black"
  );
echo "$color[$year]

如您所见,颜色每三年重复一次,我想避免在 "forever" 之前编写数组以使其更易于维护。 有谁知道如何实现它(也许在函数中)?

您可以使用取模运算符:

function colourFromYear($year){

    $colours = ['green','black','blue'];
    return $colours[$year % 3];
}

echo colourFromYear(2017); //black
echo colourFromYear(2018); //blue
echo colourFromYear(2019); //green
echo colourFromYear(7327); //black