Разделение данных на колонки с помощью PHP

Два примера сортировки данных и вывода по колонкам с помощью PHP.

Для наглядности используются буквы латинского алфавита.

1й пример, вывод букв горизонтально

<?php $data = range('A', 'Z');
if( $data ) :
    //a b c d
    //e f
    $sorted_data = array();
    $col_num = 4;
    foreach( $data as $i => $letter ) :
        $sorted_data[ $i % $col_num ][] = $letter;
    endforeach;
    ?>
    <div style="display: flex;">
        <?php foreach( $sorted_data as $letters ) : ?>
            <div style="border: 1px solid grey; padding: 0 5px 0 5px;">
                <?php foreach( $letters as $letter ) echo "<p>{$letter}</p>"; ?>
            </div>
        <?php endforeach ?>
    </div>
<?php endif ?>

2й пример, вывод букв вертикально

<?php $data = range('A', 'Z');
if( $data ) :
    //a c e f
    //b d
    $sorted_data = array();
    $col_num = 4;
    for ( $r = $col_num, $j = 1; $j <= $col_num; $r--, $j++) {
        $data = array_values( $data );
        $count = count( $data );
        $break = $count < $r ? 1 : ceil( $count / $r );
        
        foreach( $data as $i => $letter ){
            $sorted_data[ $j ][] = $letter;
            unset( $data[ $i ] );
            
            if( $i + 1 == $break ) break;
        }
    } ?>
    <div style="display: flex;">
        <?php foreach( $sorted_data as $letters ) : ?>
            <div style="border: 1px solid grey; padding: 0 5px 0 5px;">
                <?php foreach( $letters as $letter ) echo "<p>{$letter}</p>"; ?>
            </div>
        <?php endforeach ?>
    </div>
<?php endif ?>