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