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

PHP实现N*M的字符矩阵90度旋转

程序员文章站 2022-03-16 14:08:09
...
<?php

    //1、提取a.txt文件内容
   $str = file_get_contents("a.txt"); 
   //2、将str里面的内容转换成二维数组
   $arr1 = preg_split("/\n/", $str);
   for ($i=0;$i<count($arr1);$i++){
       $arr2[$i] = preg_split("/,/", $arr1[$i]);
   }
    print_r($arr2);
    //3、获取新数组的行列数
    //新数组arr3的行数为原数组arr2的列数
    $rows = count($arr2[0]);
    //新数组arr3的列数为原数组arr2的行数
    $columns = count($arr2);
    //原数组arr2的行数
    $oldrows = count($arr2);
    echo $oldrows;
    for ($i=0;$i<$rows;$i++){
        for ($j=0;$j<$columns;$j++){
            $x = $oldrows-$j-1;
            $arr3[$i][$j] = preg_replace("/(\n|\r)/", "", $arr2[$x][$i]);
        }
    }
    
//     foreach ($arr3 as $a){
//         print_r($a);echo "
";
//     }
    $result = "";
    foreach ($arr3 as  $a){
        for ($i=0;$i<count($a);$i++){
            if ($i == count($a)-1){
                $result = $result.$a[$i]."\n";
            }else {
                $result = $result.$a[$i].",";
            }
        }
    }
    file_put_contents("result.txt", $result);