递归函数返回null,而变量在函数内部打印值

时间:2019-08-29 14:06:35

标签: php

所以,我写了一段代码来查找M x N矩阵的所有可能路径

function printRobotPaths($path,$m,$n,$x,$y) {
        if (($x == $m-1) && ($y == $n-1)) {
            return $path;
        }
        if ($x == $m-1) {
            return printRobotPaths($path.'D',$m,$n,$x,$y+1);
        }
        if ($y == $n-1) {
            return printRobotPaths($path.'R',$m,$n,$x+1,$y);
        }
        printRobotPaths($path.'D',$m,$n,$x,$y+1);
        printRobotPaths($path.'R',$m,$n,$x+1,$y);
    }
$m = 3;
$n = 3;
$x = 0;
$y = 0;


$data = array(
    array(1,2,3),
    array(4,5,6),
    array(7,8,9)
);

$path = printRobotPaths('',$m,$n,0,0);
var_dump($path);

但是问题是当我返回$ path时,它的var_dump()结果为NULL,但同样的,如果我只是在函数内部打印$ path,它将打印正确的答案

我想从中返回所有可能的6种方式。

0 个答案:

没有答案