我需要创建一个递增整数的二维数组,而增量会沿对角线方向改变方向。
我已经这样做了,对于 N=4(行数和列数),但我无法为任何 N 创建解决方案:http: //pastebin.com/XXue4KT8
输出示例:
谁能给我指点和提示?我不是要求直接的解决方案。
我需要创建一个递增整数的二维数组,而增量会沿对角线方向改变方向。
我已经这样做了,对于 N=4(行数和列数),但我无法为任何 N 创建解决方案:http: //pastebin.com/XXue4KT8
输出示例:
谁能给我指点和提示?我不是要求直接的解决方案。
首先使用初始化矩阵array_fill()
:
$matrix = array_fill(0, $n, array_fill(0, $n, 0));
然后通过array_map()
,设置为需要的值。((1,2),(3,4))
这是一个应该生成的示例n = 2
:
$i = 0;
$matrix = array_map(function($row) use ($i) {
return array_map(function($val) use ($i) {
return ++$i;
}, $row);
}, $matrix);
(或者,$matrix[$i][$j]
在嵌套的 for 循环中迭代。)