我想将矩阵顺时针旋转 90 度。这相当于使输入中的第一列成为输出的第一行,输入的第二列成为输出的第二行,输入的第三列成为输出的第三行。请注意,列的底部 = 行的开头,因为旋转了 90 度。
例如:
$matrix= [[1, 2, 3]
[4, 5, 6],
[7, 8, 9]];
rotate90degrees($matrix)= [[7, 4, 1],
[8, 5, 2],
[9, 6, 3]]
我所知道的是我首先转置矩阵,然后交换列以将矩阵旋转 90 度。如何将其应用于 php?
最佳答案
我向您展示了如何转置数组以响应 previous question。 ,要旋转90度,使用那个转置逻辑,然后依次反转每行中值的顺序:
$matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
array_unshift($matrix, null);
$matrix = call_user_func_array('array_map', $matrix);
$matrix = array_map('array_reverse', $matrix);
var_dump($matrix);
关于php - 如何将 php 中的二维数组旋转 90 度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30087158/