Transposée d'une matrice(Nombres) Cette source
Matrice originale:
Matrice originale: Array
(
[0] => Array
(
[0] => 5
[1] => 6
[2] => 7
[3] => 8
[4] => 9
)
[1] => Array
(
[0] => 3
[1] => 4
[2] => 5
[3] => 3
[4] => 4
)
[2] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 9
[4] => 7
)
[3] => Array
(
[0] => 1
[1] => 2
[2] => 4
[3] => 4
[4] => 5
)
)
Transposée: Array
(
[0] => Array
(
[0] => 5
[1] => 3
[2] => 1
[3] => 1
)
[1] => Array
(
[0] => 6
[1] => 4
[2] => 2
[3] => 2
)
[2] => Array
(
[0] => 7
[1] => 5
[2] => 3
[3] => 4
)
[3] => Array
(
[0] => 8
[1] => 3
[2] => 9
[3] => 4
)
[4] => Array
(
[0] => 9
[1] => 4
[2] => 7
[3] => 5
)
)
Code fonction:
function transpose_matrice($matrice) {
$transposee = array();
$nblignes = count($matrice); $nbcols = count($matrice[0]);
for ($i=0;$i<$nblignes;$i++) {
if ($nbcols != count($matrice[$i])) {return "Not a matrix; rows length not equal";}
foreach ($matrice[$i] as $key => $val) {
if (count($val) > 0) {$transposee[$key][$i] = $val;}
}
}
return $transposee;
}