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

问题描述 投票:2回答:1

我需要分配三种颜色到多年,颜色重复。

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

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

示例代码:

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

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

php arrays cycle
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.