PHP實現(xiàn)順時針打印矩陣(螺旋矩陣)的方法示例
本文實例講述了PHP實現(xiàn)順時針打印矩陣的方法。分享給大家供大家參考,具體如下:
問題
輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字,例如,如果輸入如下矩陣:
| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 |
則依次打印出數(shù)字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
解決方法
就是一圈一圈地打印,只要控制好循環(huán)就可以。
注意單行單列的情況。
實現(xiàn)代碼
<?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相關內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)學運算技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設計算法總結(jié)》、《php正則表達式用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
- PHP簡單實現(xiàn)二維數(shù)組的矩陣轉(zhuǎn)置操作示例
- PHP實現(xiàn)圖的鄰接矩陣表示及幾種簡單遍歷算法分析
- PHP使用數(shù)組實現(xiàn)矩陣數(shù)學運算的方法示例
- PHP實現(xiàn)蛇形矩陣,回環(huán)矩陣及數(shù)字螺旋矩陣的方法分析
- PHP 數(shù)組和字符串互相轉(zhuǎn)換實現(xiàn)方法
- PHP中數(shù)組合并的兩種方法及區(qū)別介紹
- PHP遍歷數(shù)組的方法匯總
- PHP遍歷數(shù)組的幾種方法
- php數(shù)組函數(shù)序列之a(chǎn)rray_keys() - 獲取數(shù)組鍵名
- php獲取數(shù)組中重復數(shù)據(jù)的兩種方法
相關文章
PHP Warning: PHP Startup: Unable to load dynamic library \ D
今天在家啟動PHP環(huán)境的時候,突然發(fā)現(xiàn)不能加載php_mysqli.dll了,網(wǎng)上找了一圈,沒有解決方案!在群里面受一哥們兒的啟發(fā),竟然解決了,如果你的問題還沒有解決,請按下面的方法試試2012-06-06
PHP的cURL庫功能簡介 抓取網(wǎng)頁、POST數(shù)據(jù)及其他
本文介紹了PHP的cURL庫的幾個使用方法。cURL是一個功能強大的PHP庫,可以用于獲取網(wǎng)頁內(nèi)容,獲取網(wǎng)頁內(nèi)容以及取一個XML文件并把其導入數(shù)據(jù)庫等等。2011-04-04
PHP Laravel框架異步執(zhí)行的實現(xiàn)詳解
Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個完美的網(wǎng)絡APP,而且每行代碼都可以簡潔、富于表達力2022-07-07
PHP使用finfo_file()函數(shù)檢測上傳圖片類型的實現(xiàn)方法
這篇文章主要介紹了PHP使用finfo_file()函數(shù)檢測上傳圖片類型的實現(xiàn)方法,結(jié)合實例形式分析了finfo_file()函數(shù)的功能、使用方法及相關注意事項,需要的朋友可以參考下2017-04-04
php使用Jpgraph創(chuàng)建柱狀圖展示年度收支表效果示例
這篇文章主要介紹了php使用Jpgraph創(chuàng)建柱狀圖展示年度收支表效果,結(jié)合完整實例形式分析了Jpgraph創(chuàng)建柱狀圖的具體步驟與操作技巧,需要的朋友可以參考下2017-02-02
PHP利用ThinkPHP6完整實現(xiàn)用戶分頁功能
分頁功能在Web開發(fā)中是一個非常常見的需求,特別是在處理大量數(shù)據(jù)時,為了提高用戶體驗和性能,將數(shù)據(jù)分頁展示是必不可少的,ThinkPHP6作為一款流行的PHP框架,自帶了強大的分頁功能,本文將詳細介紹如何使用ThinkPHP6實現(xiàn)分頁功能,需要的朋友可以參考下2023-12-12

