Heim > Artikel > Backend-Entwicklung > Codebeispiel für PHP zum Drucken der Matrix im Uhrzeigersinn
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 6. Die vierte Schleife, von unten nach oben, n=row-2-i;n>=i&&col-1 -i!=i; n-- arr[n][i] 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!<?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);