欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php代码怎么实现矩阵

程序员文章站 2022-03-23 10:21:49
...

php代码实现矩阵的方法:首先取出行数和列数;然后在外层循环控制圈数;接着通过“j=i;j<col-i;j++;j<; arr[i][j]”方式实现第一个for循环;最后通过“k=i+1”实现第二个for循环,并以此类推即可。

php代码怎么实现矩阵

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

[PHP] 算法-顺时针打印矩阵的PHP实现

1.行数和列数取出来row,col,圈数就是 (较小值-1)/2+1

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