如何在PHP中重复为数字赋值?

时间:2017-03-16 00:07:28

标签: php arrays cycle

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

当前正在运行的代码是一个数组,其中年份数字为键,颜色为值。

只有三种颜色(黑色,蓝色,绿色),但是(希望;)无限年数。

示例代码:

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

正如您所看到的,颜色每三年重复一次,我希望避免将数组写入“永远”以使其更易于维护。 有没有人知道如何实现它(可能在函数中)?

1 个答案:

答案 0 :(得分:4)

您可以使用模数运算符:

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