> 백엔드 개발 > PHP 튜토리얼 > 시계 방향으로 행렬을 인쇄하는 PHP의 코드 예제

시계 방향으로 행렬을 인쇄하는 PHP의 코드 예제

不言
풀어 주다: 2023-04-04 12:38:01
앞으로
2217명이 탐색했습니다.

이 기사의 내용은 PHP의 시계 방향 인쇄 행렬의 코드 예제에 관한 것입니다. 이는 특정 참조 값을 가지고 있으므로 도움이 될 수 있습니다.

1 행과 열의 수를 꺼내고 원의 수는 (더 작은 값 -1)/2+1

2입니다. 외부 루프는 원의 수를 제어합니다. 4개의 for 루프, i

3 첫 번째 for 루프는 왼쪽에서 오른쪽으로 j=i;j

4. 위에서 아래로, k=i+1;k

5 세 번째 루프, 오른쪽에서 왼쪽으로, m=col-2-i ;m> =i&&row-1-i!=i;m-- arr[row-1-i][m]//row-1-i!=i 한 줄인 경우 한 번만 인쇄합니다

6. 네 번째 루프는 아래에서 위로 n=row-2-i;n>=i&&col-1-i!=i;n-- arr[n][i]

<?php
$arr=array();
$flag=0;
for($i=0;$i<2;$i++){
        $flag=$i*2;
        for($j=0;$j<2;$j++){
                $flag++;
                $arr[$i][]=$flag;
        }   
}
var_dump($arr);
//顺时针打印矩阵
function printMatrix($arr){
        $res=array();
        $row=count($arr);
        $col=count($arr[0]);
        $circle=intval((($row>$col ? $col : $row)-1)/2+1);
        for($i=0;$i<$circle;$i++){
                //转圈开始
                //从左到右
                for($j=$i;$j<=$col-1;$j++){
                        $t=$arr[$i][$j];
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
                //从上到下
                for($k=$i+1;$k<$row-$i;$k++){
                        $t=$arr[$k][$col-$i-1];
    
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
                //从右到左
                for($m=$col-$i-2;$m>=$i;$m--){
                        $t=$arr[$row-$i-1][$m];
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
                //从下到上
                for($n=$row-$i-2;$n>$i;$n--){
                        $t=$arr[$n][$i];
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
        }   
        return $res;
}
$res=printMatrix($arr);
로그인 후 복사
입니다.

위 내용은 시계 방향으로 행렬을 인쇄하는 PHP의 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿