2차원 배열을 아래 그림처럼 90도씩 회전시켜 그 결과를 출력하는 방법을 설명합니다. 

 1    2    3    4        13   9    5  1        16  15  14  13      4   8  12  16
 5    6    7    8  =>   14   10  6   2  =>   12  11  10  9  =>  3   7  11  15
 9    10  11  12       15   11  7   3         8   7    6   5       2   6  10  14
 13  14  15  16        16  12  8   4         4    3    2  1        1   5   9   13


ex.01)

 <?php

       $arr = array(

array(1, 2, 3, 4),

array(5, 6, 7, 8),

array(9, 10, 11, 12),

array(13, 14, 15, 16)

);


       for($i = 0; $i < count($arr); $i++)

{

for($j = 0; $j < count($arr); $j++)

{

echo $arr[$i][$j] . "\t";

}

echo "<br />\n";

}

echo "<br />\n";

 /*

 결과

 1    2    3    4

 5    6    7    8

 9    10  11  12

 13  14  15  16

 */


for($i = 0; $i < count($arr); $i++)

{

for($j = count($arr); $j > -1; $j--)

{

echo $arr[$j][$i] . "\t";

}

echo "<br />\n";

}

echo "<br />\n";

/*

 결과

 13    9     5   1

 14   10    6   2

 15   11    7   3

 16   12    8   4

 */


for($i = count($arr); $i > -1; $i--)

{

for($j = count($arr); $j > -1; $j--)

{

echo $arr[$i][$j] . "\t";

}

echo "<br />\n";

}

echo "<br />\n";

/*

 결과

 16   15   14   13

 12   11   10    9

  8    7     6     5

  4    3     2     1

 */


for($i = count($arr); $i > -1; $i--)

{

for($j = 0; $j < count($arr); $j++)

{

echo $arr[$j][$i] . "\t";

}

echo "<br />\n";


/*

 결과

 4   8   12   16

 3   7   11   15

 2   6   10   14

 1   5    9    13

 */

 ?>