PHP コードで行列を実装する方法: 最初に行と列の数を取り出し、次に外側のループのターン数を制御し、次に「j=i;j
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
[PHP] アルゴリズム -行列の PHP 実装を時計回りに出力します。
#1. 行と列の数を取り出し、row、col、円の数は (小さい値 -1)/2 12. 外側のループ 円の数、内側の 4 つの for ループ、i3 を制御します。最初の for ループは、左から右に、j=i;j<?php $arr=array(); $flag=0; for($i=0;$i<2;$i++){ $flag=$i*2; for($j=0;$j<2;$j++){ $flag++; $arr[$i][]=$flag; } } var_dump($arr); //顺时针打印矩阵 function printMatrix($arr){ $res=array(); $row=count($arr); $col=count($arr[0]); $circle=intval((($row>$col ? $col : $row)-1)/2+1); for($i=0;$i<$circle;$i++){ //转圈开始 //从左到右 for($j=$i;$j<=$col-1;$j++){ $t=$arr[$i][$j]; if(in_array($t,$res)) continue; $res[]=$t; } //从上到下 for($k=$i+1;$k<$row-$i;$k++){ $t=$arr[$k][$col-$i-1]; if(in_array($t,$res)) continue; $res[]=$t; } //从右到左 for($m=$col-$i-2;$m>=$i;$m--){ $t=$arr[$row-$i-1][$m]; if(in_array($t,$res)) continue; $res[]=$t; } //从下到上 for($n=$row-$i-2;$n>$i;$n--){ $t=$arr[$n][$i]; if(in_array($t,$res)) continue; $res[]=$t; } } return $res; } $res=printMatrix($arr);推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPコードで行列を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。