Codebeispiel für PHP zum Drucken der Matrix im Uhrzeigersinn

不言
Freigeben: 2023-04-04 12:38:01
nach vorne
2183 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit dem Codebeispiel für die Druckmatrix im Uhrzeigersinn. Ich hoffe, dass er für Sie hilfreich ist.

1. Nehmen Sie die Anzahl der Zeilen und Spalten, Zeile, Spalte und die Anzahl der Kreise ist (kleinerer Wert -1)/2+1

2 Schleife steuert die Anzahl der Kreise, vier innere for-Schleifen, i

3. Die erste for-Schleife, von links nach rechts, j=i;j

4. Die zweite for-Schleife, von oben nach unten, k=i+1;k 5. Die dritte Schleife, von rechts nach links, m=col-2-i;m>=i&&row-1-i!=i;m-- arr[row-1-i][m]//row - Wenn 1-i!=i eine einzelne Zeile ist, wird sie nur einmal gedruckt

6. Die vierte Schleife, von unten nach oben, 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);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonCodebeispiel für PHP zum Drucken der Matrix im Uhrzeigersinn. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!