如何用PHP编写代码实现N*M矩阵字符的90度顺时针旋转?
- 内容介绍
- 文章标签
- 相关推荐
本文共计181个文字,预计阅读时间需要1分钟。
php// 读取a.txt文件内容$str=file_get_contents(a.txt);
// 将内容转换为二维数组$arr1=preg_split(/\n/, $str);for ($i=0; $i
<?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 "<br>";
// }
$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);
本文共计181个文字,预计阅读时间需要1分钟。
php// 读取a.txt文件内容$str=file_get_contents(a.txt);
// 将内容转换为二维数组$arr1=preg_split(/\n/, $str);for ($i=0; $i
<?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 "<br>";
// }
$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);

