Добрый день всем.
Вот такая вот задачка, собираюсь вывести список слов по алфавиту но не в строку а в столбцы
То есть чтобы было не так 1 2 3 4 5 6 7 8
А вот так
1 5
2 6
3 7
4 8
Как это реализовать? Натолкните на мысль
$stmt = $pdo->query('SELECT * FROM city');
$stmt->execute();
$res = $stmt->fetchAll();
$rv = array();
foreach($res as $row) {
$rv[] = $row['cit'];
}
// $new_rv[$blok] это вложенный массив, то есть если мы расделили на
// 4 части то будут 4 вложенных массива и каждый можно вывести по отдельности
function set_veiw( $array, $blok = 0, $colum = 4 ) {
sort($array); // Сортируем массив
$count = count($array); // получаем общее кол-во данных в массиве
$split = $count / $colum; // делим на кол-во столбцов
if( is_int($split) ) { // если получ кол-во целое число оставл как есть
$number = $split;
} else {
$number = round($split); // иначе округляем
}
$new_rv = array_chunk($array, $number); // делим массив на части
$htm = '<div class="col-xs-12 col-sm-6 col-md-3">';
foreach( $new_rv[$blok] as $key => $val ) {
$htm .= $val;
$htm .= '<br>';
}
$htm .= '</div>';
echo $htm; // выводим
}
set_veiw( $rv, $blok = 0 );
set_veiw( $rv, $blok = 1 );
set_veiw( $rv, $blok = 2 );
set_veiw( $rv, $blok = 3 );