Попробуйте это ...
<?php
$arr = array("1","2","3","4","5","6","7","8","9","10", "11", "12", "13", "14");
$row= ceil(count($arr)/3);
for($i = 1; $i <= $row; $i++) {
echo $i;
$k = 0;
$pre = 0;
for($j = 1; $j <= 2; $j++) {
if($pre == 0)
$pre = $k = $i + $row;
else
$pre = $pre + $row;
if($pre <= max($arr))
echo " ". $arr[$pre-1] ." ";
}
echo "<br>";
}
?>
Выход при 14 элементах:
1 6 11
2 7 12
3 8 13
4 9 14
5 10
Вывод при 11 элементе:
1 5 9
2 6 10
3 7 11
4 8
Вывод при 13 элементах:
1 6 11
2 7 12
3 8 13
4 9
5 10