2019-01-23 14:23:57 547浏览
如今参加PHP培训的小伙伴有很多,所以本篇文章小编和度读者们分享一下PHP实现顺时针打印矩阵的方法,文章中有关于PHP基于数组遍历、运算模拟打印实现螺旋矩阵功能的相关操作技巧的简单讲解,对PHP开发技术感兴趣的小伙伴就随小编一起来了解一下吧。
问题:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:
则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
解决方法:
就是一圈一圈地打印,只要控制好循环就可以。
注意单行单列的情况。
实现代码:
<?php
function printMatrix($matrix)
{
$row = count($matrix);
$col = count($matrix[0]);
if($row == 0 || $col == 0)
return $matrix;
$result = array();
$left = 0;$right = $col-1; $top = 0;$bottom = $row-1;
while($left<=$right && $top<= $bottom){
for($i =$left;$i<=$right;++$i){
array_push($result, $matrix[$top][$i]);
}
for($i =$top+1;$i<=$bottom;++$i)
array_push($result, $matrix[$i][$right]);
if($top!=$bottom){
for($i = $right-1;$i>=$left;--$i)
array_push($result, $matrix[$bottom][$i]);
}
if($left!=$right){
for($i = $bottom-1;$i>$top;--$i)
array_push($result, $matrix[$i][$left]);
}
$left++;$right--;$top++;$bottom--;
}
return $result;
}
想要了解更多关于PHP方面内容的小伙伴,请关注扣丁学堂PHP培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的PHP开发环境搭建视频,扣丁学堂老师精心推出的PHP视频教程定能让你快速掌握PHP从入门到精通开发实战技能。扣丁学堂PHP技术交流群:374332265。
【关注微信公众号获取更多学习资料】