Транспонированние матрицы
<?php
/**
* Транспонированние матрицы
*/
// Исходная матрица
$matrix = array(
1 => array(1 => 1, 2 => 2, 3 => 7),
2 => array(1 => 5, 2 => 7, 3 => 2),
);
$trans = array();
$n = count($matrix); // строки
$m = count($matrix[1]); // столбцы
echo 'Исходная матрица: ' . $n . 'x' . $m . '<br />';
for ($i = 1; $i <= count($matrix); $i++) {
for ($j = 1; $j <= count($matrix[$i]); $j++) {
echo $matrix[$i][$j] .' ';
}
echo '<br />';
}
// Транспонированние
for ($i = 1; $i <= $n; $i++) {
for ($j = 1; $j <= $m; $j++) {
$trans[$j][$i] = $matrix[$i][$j];
}
}
echo '<br /><br />Транспонированная матрица:<br />';
for ($i = 1; $i <= count($trans); $i++) {
for ($j = 1; $j <= count($trans[$i]); $j++) {
echo $trans[$i][$j] .' ';
}
echo '<br />';
}