Сортировщик по три, с вычислением остатка

Array ( [0] => первый [1] => второй [2] => третий [3] => четвертый [4] => пятый [5] => шестой [6] => седьмой [7] => восьмой )

Сколько троек есть в этом массиве?
2.6666666666667

Округлим значение:
2

Выводим связками по три:
первый второй третий
четвертый пятый шестой

Тройки исчерпаны. Если есть остатки - выводим их!
седьмой восьмой

Исходный код

$colors=array("первый", "второй","третий","четвертый","пятый", "шестой","седьмой","восьмой"); print_r($colors); echo "

Сколько троек есть в этом массиве?
"; $triples=count($colors)/3; echo $triples; echo "

Округлим значение:
"; $rounded_triples=floor($triples); echo $rounded_triples; echo "

выводим связками по три:
"; for($i=0;$i<$rounded_triples;$i++){ echo 'связка!'.$colors[0+3*$i]." ".$colors[1+3*$i]." ".$colors[2+3*$i]."
"; } echo "

тройки исчерпаны. Если есть остатки - выводим их!
"; $leftover=count($colors)-$rounded_triples*3; if($leftover!=0){ for($i=$rounded_triples*3;$i