How to rotate square matrix 90 degrees to the right in PHP

1 Answer

0 votes
function print_matrix($matrix) { 
    for ($i = 0; $i < sizeof($matrix); $i++) { 
        for ($j = 0; $j < sizeof($matrix); $j++) {
            echo $matrix[$i][$j] . " "; 
        }
        echo "<br />"; 
    } 
    echo "<br />"; 
} 

function rotate_matrix_90_degrees_right(&$matrix) { 
    $len = sizeof($matrix);
    for ($i = 0; $i < $len / 2; $i++) { 
        for ($j = $i; $j < $len - $i - 1; $j++) { 
            $tmp = $matrix[$i][$j]; 

            $matrix[$i][$j] = $matrix[$len - 1 - $j][$i]; 
            $matrix[$len - 1 - $j][$i] = $matrix[$len - 1 - $i][$len - 1 - $j]; 
            $matrix[$len - 1 - $i][$len - 1 - $j] = $matrix[$j][$len - 1 - $i]; 
            
            $matrix[$j][$len - 1 - $i] = $tmp; 
        } 
    } 
} 
  

$matrix = array(array(1, 2, 3), 
                array(4, 5, 6), 
                array(7, 8, 9)); 

rotate_matrix_90_degrees_right($matrix); 
  
print_matrix($matrix); 
  
  
  
/*
run:
       
7 4 1
8 5 2
9 6 3 
      
*/

 



answered May 19, 2019 by avibootz

Related questions

1 answer 224 views
1 answer 170 views
1 answer 178 views
1 answer 182 views
1 answer 188 views
1 answer 189 views
...