好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php代码怎么实现矩阵

2.外层循环控制圈数,内层四个for循环,i

3.第一个for循环,从左到右,j=i;j<col-i;j++;j<; arr[i][j]

4.第二个for循环,从上到下,k=i+1;k<row-i;k++; arr[k][col-1-i]

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
$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);

推荐学习:《PHP视频教程》

以上就是php代码怎么实现矩阵的详细内容!

查看更多关于php代码怎么实现矩阵的详细内容...

  阅读:40次