<?php
$arr = test3(4,4);
for($i=0;$i<=3;$i++){
for($j=0;$j<=3;$j++){
echo $arr[$i][$j].PHP_EOL;
}
echo "<br/>";
}
function test3($width=4,$length=4){
$num = 1;
$new = [];
//一次循环是一圈
for($i =0;$i<$length-$i;$i++){
$j=$i;
if($j<$width-$i) {
//一圈的上边
for (;$j<$width - $i; $j++) {
$new[$i][$j] = $num++;
}
//一圈的右边
for ($k = $i + 1; $k < $length - $i; $k++) {
$new[$k][$width-1-$i] = $num++;
}
$f = $length - 1 - $i; //下边所在的行数
if ($f != $i) {
//一圈的下边
for ($m = $width - 1 - $i - 1; $m >= $i; $m--) {
$new[$f][$m] = $num++;
}
//一圈的左边
for ($n = $f - 1; $n > $i; $n--) {
$new[$n][$i] = $num++;
}
}
}
}
return $new;
}
注:不是我写的!是别人写的!