初始化递增整数的二维数组

时间:2013-06-08 16:04:20

标签: php arrays 2d

我需要创建一个递增整数的2D数组,而增量会沿对角方向改变方向 我已经这样做了,因为N = 4(行数和列数),但我无法为任何N创建解决方案:http://pastebin.com/XXue4KT8

输出示例:

exmaple

有人能给我指点和提示吗?我不是要求直接解决方案。

1 个答案:

答案 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]。)