Создание интернет-магазинов
на Opencart

Модули, шаблоны и дополнения сделанные нами

Равномерный вывод списка

Как вывести числа от 1 до 10 равномерно в 3 колонки?

Этот код делает равномерный вывод списка

<?php
$n = 10;
$cols = 3;

$step = floor($n/$cols);           // Основной шаг между колонками
$long = $n%$cols;                  // Количество длинных колонок
$rows = $step+($long > 0 ? 1 : 0); // Количество строк

for ($i = 1; $i <= $rows; $i++) {
    $val = $i;                            // Начальное значение строки
    $col = ($i == $rows ? $long : $cols); // Количество колонок в строке
    for ($j = 0; $j < $col; $j++) {
        print "{$val}\t";
        $val += $step+($j < $long ? 1 : 0); // Шаг к следующей колонке в строке
    }
    echo '<br>';
}
?>


Результат:

1 5 8

2 6 9

3 7 10

4