So implementieren Sie die Matrix mit PHP-Code: Nehmen Sie zuerst die Anzahl der Zeilen und Spalten heraus, steuern Sie dann die Anzahl der Windungen in der äußeren Schleife und übergeben Sie dann „j=i;j
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
[PHP]-Algorithmus – PHP-Implementierung der Druckmatrix im Uhrzeigersinn
1 Zahl, Spalte, die Anzahl der Windungen ist (kleinerer Wert -1)/2+1
2. Die äußere Schleife steuert die Anzahl der Windungen und die inneren vier for-Schleifen, i
3 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-1-i!=i wird nur einmal in einer einzelnen Zeile gedruckt 6 Die vierte Schleife, von unten nach oben, n=row-2-i ;n> =i&&col-1-i!=i;n-- arr[n][i] Empfohlenes Lernen: „PHP-Video-Tutorial“ Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine Matrix in PHP-Code. 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);