我需要使用一些for循环编写一些代码来测试某些数组数据的值。
第一遍:检查以下内容......
{x0,y0}
第二遍:检查4位数据......
{x0,y0}, {x1,y0},
{x0,y1}, {x1,y1}.
第3遍:检查9位数据......
{x0,y0}, {x1,y0}, {x2,y0},
{x0,y1}, {x1,y1}, {x2,y1},
{x0,y2}, {x1,y2}, {x2,y2}.
我的小脑子似乎不想起作用来得到这个答案。有人可以帮忙吗?
答案 0 :(得分:0)
<?php
for ($pass = 0; $pass < count($matrix); $pass++)
{
for ($i = 0; $i <= $pass; $i++)
{
for ($j = 0; $j <= $pass; $j++)
{
checkbit($matrix[$i][$j]);
}
}
}
?>
也许是这样的?
答案 1 :(得分:0)
你可以从一个在矩阵上运作的简单函数开始:
function scan($x, $y) {...}
此外,画布的x和y范围,起始编号和结束编号:
range x/y: 0,0/0,0
或稍后:
range x/y: 0,2/0,2
如果您说范围始终从0
开始,并且两个范围始终具有相同的上限值,则可以将其减少为一个变量:$range
。然后,您可以轻松地迭代矩阵(Demo):
$range = 2;
foreach(range(0, $range) as $y)
foreach(range(0, $range) as $x)
scan($x, $y);
function scan($x, $y)
{
...
}
由于$range
取决于当前通过的数量,您可以在$passes
中指定最大通过次数,并根据$range
重复$pass
进行迭代。 Demo):
$passes = 3;
foreach(range(1, $passes) as $pass)
{
$range = $pass-1;
foreach(range(0, $range) as $y)
foreach(range(0, $range) as $x)
scan($x, $y);
}