php-函数的递归2d数组

php-函数的递归2d数组,php,arrays,recursion,2d,Php,Arrays,Recursion,2d,我有一个2d数组,比如数组a[60][150],还有另一个数组,数组B[60][150]。 现在我想做的是: 给定数组a中的一个点,比如x,y,我想访问它的邻居,以找到这两个元素之间的相似性。如果它们相似,那么找到它的邻居。 所以现在我使用递归函数来实现它。但它会抛出一个错误,指出最大执行时间已超过或内存不足 所以我只是想知道有没有其他方法可以解决这个问题。我的意思是不使用递归 代码示例: protected function find_neighbor($y,$x,$ga

我有一个2d数组,比如数组a[60][150],还有另一个数组,数组B[60][150]。 现在我想做的是:

给定数组a中的一个点,比如x,y,我想访问它的邻居,以找到这两个元素之间的相似性。如果它们相似,那么找到它的邻居。 所以现在我使用递归函数来实现它。但它会抛出一个错误,指出最大执行时间已超过或内存不足

所以我只是想知道有没有其他方法可以解决这个问题。我的意思是不使用递归

代码示例:

           protected function find_neighbor($y,$x,$garray,$gr)
       {
        $r=$garray[$y][$x-1]['red'];
        if(true){
            $this->find_neighbor($y,$x-1,$garray,$gr);
        }

        $r=$garray[$y-1][$x-1]['red'];
        if(true){
            $this->find_neighbor($y-1,$x-1,$garray,$gr);
        }

        $r=$garray[$y-1][$x]['red'];
        if(true){
            $this->find_neighbor($y-1,$x,$garray,$gr);
        }

        $r=$garray[$y-1][$x+1]['red'];
        if(true){
            $this->find_neighbor($y-1,$x+1,$garray,$gr)
        }

        $r=$garray[$y][$x+1]['red'];
        if(true){
            $this->find_neighbor($y,$x+1,$garray,$gr);      
        }

        $r=$garray[$y+1][$x+1]['red'];
        if(true){
            $this->find_neighbor($y+1,$x+1,$garray,$gr);
        } 

        $r=$garray[$y+1][$x]['red'];
        if(true){
                $this->find_neighbor($y+1,$x,$garray,$gr);  
        } 

        $r=$garray[$y+1][$x-1]['red'];
        if(true){
            $this->find_neighbor($y+1,$x-1,$garray,$gr);
        }
}
未经测试:

$range = 3;
foreach ($A as $A1=>$tmp) {
    foreach ($tmp as $A2=>$value) {
        for ($x=0-$range; $x<=$range; $x++) {
            for ($y=0-$range; $y<=$range; $y++) {
                $F1 = $A1+$x;
                $F2 = $A2+$y;
                if (isset($A[$F1][$F2])) {
                    print "A[{$A1}][{$A2}] is close to A[{$F1}][{$F2}]<br>";
                }
            }
        }
    }
}

你能用一些代码来说明你的例子吗?或者你的例子中的几点?我想在同一个数组中比较,而不是在不同的数组中比较