我需要创建一个递增整数的2D数组,而增量会沿对角方向改变方向 我已经这样做了,因为N = 4(行数和列数),但我无法为任何N创建解决方案:http://pastebin.com/XXue4KT8
输出示例:
有人能给我指点和提示吗?我不是要求直接解决方案。
答案 0 :(得分:0)
首先使用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);
(或者,在嵌套for循环中迭代$matrix[$i][$j]
。)