This article explains how PHP implements a clockwise print matrix and a spiral matrix.
In this paper, we describe the method of implementing the clockwise printing matrix in PHP. Share to everyone for your reference, as follows:
Problem
Enter a matrix that prints each number in a clockwise order from outward, for example, if you enter the following matrix:
1234
5678
9101112
13141516
The word 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10 is printed in turn.
Workaround
is a lap of the plot, as long as the control of the cycle can be.
Note the case of a single row.
Implementation code
function Printmatrix ($matrix) {$row = count ($matrix), $col = count ($matrix [0]), if ($row = = 0 | | $col = = 0) return $matrix ; $result = Array (); $left = 0; $right = $col-1; $top = 0; $bottom = $row-1; while ($left <= $right && $top <= $bottom) {for ($i = $left; $i <= $right; + + $i) {Array_push ($result, $matrix [ $top] [$i]); } for ($i = $top +1; $i <= $bottom; + + $i) Array_push ($result, $matrix [$i] [$right]); if ($top! = $bottom) {for ($i = $right-1; $i >= $left;--$i) Array_push ($result, $matrix [$bottom] [$i]);} if ($left! = $right {for ($i = $bottom-1; $i > $top;--$i) Array_push ($result, $matrix [$i] [$left]);} $left + +; $right-; $top + +; $bottom-; } return $result;}
This article explains the PHP implementation of the clockwise printing matrix and spiral matrix method, more relevant content please pay attention to the PHP Chinese web.