PHP print the ring number to jump
/*** Sort two-dimensional arrays * @ param array $ array */function sort_recursive (& $ array) {foreach ($ array as $ key => $ edge) {ksort ($ edge, true); $ array [$ key] = $ edge;} ksort ($ array, true );} /*** generate a ring number * @ param array $ cotainer two-dimensional array, contains the generated circle * @ param int $ start_value the starting value of the circle * @ param int $ x the offset value of the circle * @ param int $ grids_edge number of each edge */ function generate (& $ container, $ start_value, $ x, $ grids_edge) {$ rec_times = ceil ($ grids_edge/2 ); $ Center = $ grids_edge & 1? False: $ start_value + 4 * $ rec_times * ($ rec_times + 1); if ($ center) {$ index = $ x + ceil ($ grids_edge/2 ); $ container [$ index] [$ index] = $ center;} for ($ I = 0; $ iarray (), 25 => array ), 41 => array (),);/* $ data = array (1 => array (),); $ data = array (1 => array ), 21 => array (2, 3), 33 => array (3, 1),); $ data = array (1 => array (1, 3 ), 13 => array (2, 1),); */foreach ($ data as $ key => $ val) {generate ($ container, $ key, $ val [0], $ val [1]);} sort_recursive ($ container); $ table = ''; foreach ($ container as $ key => $ edge) {$ table. = ''; foreach ($ edge as $ val) {$ table. = ''. $ val. '';} $ table. = '';} $ table. = ''; echo $ table;