私はより大きな問題を解決しており、あるステップで 2D 配列を反時計回りに回転させる必要があります。
したがって、このマトリックスがある場合:
1 2 3 4
1 2 3 4
3 4 5 6
3 4 5 6
回転後は次のようになります。
4 4 6 6
3 3 5 5
2 2 4 4
1 1 3 3
時計回りに回転させる解決策を見つけました:
<?php
$a = array(array(1,2,3,4),array(5,6,7,8),array(9,0,1,2),array(3,4,5,6));
$b = array(); //result
while(count($a)>0)
{
$b[count($a[0])-1][] = array_shift($a[0]);
if (count($a[0])==0)
{
array_shift($a);
}
}
?>
a
問題は、これが1 次元または 1 つの要素しかない場合でも機能する必要があるということです。
したがって、次の1 2 3 4
ようになります。
4
3
2
1