<?php
$array = range('A', 'Z');
$row = 4;
echo "Original:\n";
print_matrix($array, $row);
echo "\nSorted:\n\n";
print_matrix(flipOrient($array, $row), $row);
function flipOrient($array, $rows)
{
$len = count($array);
$col = $len / $rows;
$build = array();
foreach(range(0, $col-1) as $x)
foreach(range(0, $rows-1) as $y)
$build[] = $array[$x + $y * $col];
return $build;
}
function print_matrix($matrix, $perRow)
{
echo "One row - " . implode(' ', $matrix) . "\n\n";
foreach(array_chunk($matrix, $perRow) as $row)
{
foreach($row as $col)
printf('%s ', $col);
echo "\n";
}
}