function sortColumns(&$matrix) {
$rows = count($matrix);
$cols = count($matrix[0]);
for ($col = 0; $col < $cols; $col++) {
// Extract column into an array
$column = [];
for ($row = 0; $row < $rows; $row++) {
$column[] = $matrix[$row][$col];
}
// Sort the column
sort($column);
// Place sorted values back into the matrix
for ($row = 0; $row < $rows; $row++) {
$matrix[$row][$col] = $column[$row];
}
}
}
function printMatrix($matrix) {
foreach ($matrix as $row) {
echo implode(" ", $row) . "\n";
}
}
$matrix = [
["ccc", "zzzz", "yyyyyy"],
["eeee", "aaa", "ffff"],
["uu", "hhh", "uuu"],
["bbb", "gg", "x"]
];
echo "Original Matrix:\n";
printMatrix($matrix);
sortColumns($matrix);
echo "\nSorted Matrix:\n";
printMatrix($matrix);
/*
run:
Original Matrix:
ccc zzzz yyyyyy
eeee aaa ffff
uu hhh uuu
bbb gg x
Sorted Matrix:
bbb aaa ffff
ccc gg uuu
eeee hhh x
uu zzzz yyyyyy
*/