fork download
  1. <?php
  2.  
  3. function f($a){if(!$a)return[];$r=$a[0];$l=count($r);$x=$l-1;$y=$i=0;$s=[[0,1],[-1,0],[0,-1],[1,0]];for(;$l>0;$l-=$i++%2)for($j=$l-1;$j>0;$j--){$x+=$s[$i%4][0];$y+=$s[$i%4][1];$r[]=$a[$y][$x];}return$r;}
  4.  
  5. print_r(f([]));
  6. print_r(f([[1]]));
  7. print_r(f([[1,2],[4,3]]));
  8. print_r(f([[1,2,3],[8,9,4],[7,6,5]]));
  9. print_r(f([[1,2,3,4],[12,13,14,5],[11,16,15,6],[10,9,8,7]]));
Success #stdin #stdout 0s 82560KB
stdin
Standard input is empty
stdout
Array
(
)
Array
(
    [0] => 1
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
    [9] => 10
    [10] => 11
    [11] => 12
    [12] => 13
    [13] => 14
    [14] => 15
    [15] => 16
)