La méthode d'implémentation de la matrice dans le code PHP : supprimez d'abord le nombre de lignes et de colonnes ; puis contrôlez le nombre de tours dans la boucle externe puis passez "j=i;j
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
[PHP] Algorithme - Imprimez l'implémentation PHP de la matrice dans le sens des aiguilles d'une montre
1. Retirez le nombre de lignes et de colonnes, la ligne, la colonne et le nombre de cercles (valeur plus petite -1)/2+1
2. Couche externe La boucle contrôle le nombre de tours. Il y a quatre boucles for internes, i
3 La première boucle for, de gauche à droite, j=i;j 4. La deuxième boucle for, de haut en bas, k=i+1;k 5. La troisième boucle, de droite à gauche, m=col-2-i;m>=i&&row-1-i!=i;m-- arr[row-1 -i][m] //row-1-i!=i ne s'imprimera qu'une seule fois lorsqu'il s'agit d'une seule ligne 6 La quatrième boucle, de bas en haut, n=row-2-i. ;n>=i&&col-1-i !=i;n-- arr[n][i] Apprentissage recommandé : "Tutoriel vidéo PHP" Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!<?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);