php程式碼實現矩陣的方法:先取出行數和列數;然後在外層循環控制圈數;接著透過「j=i;j
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
[PHP] 演算法-順時針列印矩陣的PHP實現
1.行數和列數取出來row,col,圈數就是(較小值-1)/2 1
2.外層循環控制圈數,內層四個for迴圈,i
3.第一個for迴圈,由左至右,j=i;j 4.第二for迴圈,從上到下,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影片教學》 以上是php程式碼怎麼實作矩陣的詳細內容。更多資訊請關注PHP中文網其他相關文章!<?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);