Хорошо, у меня есть два массива - один для сообщений и ограниченный массив из 5 значений для цветов для каждого сообщения. Я хочу, чтобы сообщения циклически менялись по массиву цветов, чтобы каждый шестой начинался заново. То, что я делаю сейчас, само по себе работает с ограниченным количеством сообщений, но это не очень элегантно:
$colors = array('yellow', 'red', 'blue', 'green', 'purple');
foreach($posts as $i => $post) {
$color = $colors[$i];
if ($i >= count($colors)) {
$color = $colors[-count($colors) + $i];
if ($i >= (count($colors) * 2)) {
$color = $colors[(-count($colors) * 2) + $i];
}
}
//Do stuff here
}
Я уверен, что есть более умный способ сделать это, я просто не я не умею.