螺旋数组是一种特殊的二维数组,其元素按照螺旋的方式排列。以下是一个用PHP实现螺旋数组的示例代码:
function generateSpiralArray($n) {
$array = array();
$rowStart = 0;
$rowEnd = $n - 1;
$colStart = 0;
$colEnd = $n - 1;
$num = 1;
while ($rowStart <= $rowEnd && $colStart <= $colEnd) {
// 从左到右
for ($i = $colStart; $i <= $colEnd; $i++) {
$array[$rowStart][$i] = $num;
$num++;
}
$rowStart++;
// 从上到下
for ($i = $rowStart; $i <= $rowEnd; $i++) {
$array[$i][$colEnd] = $num;
$num++;
}
$colEnd--;
// 从右到左
for ($i = $colEnd; $i >= $colStart; $i--) {
$array[$rowEnd][$i] = $num;
$num++;
}
$rowEnd--;
// 从下到上
for ($i = $rowEnd; $i >= $rowStart; $i--) {
$array[$i][$colStart] = $num;
$num++;
}
$colStart++;
}
return $array;
}
$n = 5; // 数组的大小
$array = generateSpiralArray($n);
// 打印数组
for ($i = 0; $i < $n; $i++) {
for ($j = 0; $j < $n; $j++) {
echo $array[$i][$j] . " ";
}
echo "\n";
}
这段代码中,generateSpiralArray
函数用于生成螺旋数组,参数$n
表示数组的大小。函数内部使用四个变量$rowStart
、$rowEnd
、$colStart
、$colEnd
来表示当前需要填充的行和列的范围。通过循环遍历的方式,按照螺旋的顺序依次填充数组的元素。
最后,我们可以通过遍历数组并打印每个元素来展示生成的螺旋数组。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站