массивы — Как многократно присваивать значения для чисел в PHP?

Мне нужно назначить три цвета на несколько лет, и цвета повторяются.

Текущий рабочий код представляет собой массив с номерами года в качестве ключей и цветов в качестве значений.

Есть только три цвета (черный, синий, зеленый), но (надеюсь;)) неограниченное количество лет.

Пример кода:

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

Как видите, цвета повторяются каждые три года, и я бы хотел, чтобы массив не записывался до «навсегда», чтобы сделать его более удобным для сопровождения.
У кого-нибудь есть идеи, как это реализовать (возможно, в функции)?

2

Решение

Вы можете использовать оператор модуля:

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
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]