PHP 递归似乎并没有遍历所有途径

PHP Recursion doesn't seem to be traversing all avenues

这个程序应该找到穿过迷宫的所有可能路径,并将它到达的最远距离保存在一个全局变量中。相反,它只走一条路然后结束?我猜我没有正确使用递归之类的东西。 $draw_co2是一个0和1的数组,其中1是路径,0是墙。我将 $GLOBALS['route'] 收集的点的输出包含在下面的迷宫本身之上。根据代码,我希望整个主要的红色分支都是白色的?

我使用的是 else if 而不是 else。如下所述,使用 else 来探索所有分支。

代码段递归没有问题。我最好的猜测是,唯一可能导致这种情况的是 $draw_co2。我认为 $draw_co2 中没有递归可以遍历的路径。为了测试,我建议在数组 $draw_co2 中创建一个明确的路径,并在递归函数中传递起始坐标。希望对你有帮助。

编辑

如果您将所有 else if 更改为仅 if,这可能会遍历所有路径。