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
,这可能会遍历所有路径。
这个程序应该找到穿过迷宫的所有可能路径,并将它到达的最远距离保存在一个全局变量中。相反,它只走一条路然后结束?我猜我没有正确使用递归之类的东西。 $draw_co2是一个0和1的数组,其中1是路径,0是墙。我将 $GLOBALS['route'] 收集的点的输出包含在下面的迷宫本身之上。根据代码,我希望整个主要的红色分支都是白色的?
我使用的是 else if 而不是 else。如下所述,使用 else 来探索所有分支。
代码段递归没有问题。我最好的猜测是,唯一可能导致这种情况的是 $draw_co2
。我认为 $draw_co2
中没有递归可以遍历的路径。为了测试,我建议在数组 $draw_co2
中创建一个明确的路径,并在递归函数中传递起始坐标。希望对你有帮助。
编辑
如果您将所有 else if
更改为仅 if
,这可能会遍历所有路径。