PHP 缺少函数的参数错误


php missing argument error for a function

嗨,伙计们,我目前很困惑 为什么我在编译代码时收到有关缺少参数的错误,它给了我此错误 警告:缺少 print_LCS() 的参数 5,这是我的代码:

这是函数

function print_LCS($b,$x,$i,$j,$k){
    $fLCS=array();
    if ($i==0||$j==0) 
    {
        return 0;
    }
    if ($b[$i][$j]=='c')
    {
        print_LCS($b,$x,$i-1,$j-1);
        $fLCS[$k] = $x[$i-1]." ";
        $k++;

    }
    elseif ($b[$i][$j]=='u') 
    {
        print_LCS($b,$x,$i-1,$j);
    }
    else
    {
        print_LCS($b,$x,$i,$j-1);
    }
    return array($fLCS);
}

这是函数调用:

list($final)=print_LCS($var2,$first,$var3,$var4,$var5);

希望你们能快速回复。非常感谢。

问题是对同一函数的嵌套调用(大概是为了递归),因为它只有 4 个值传递给它。

function print_LCS($b,$x,$i,$j,$k){
    $fLCS=array();
    if ($i==0||$j==0) {
        return 0;
    }
    if ($b[$i][$j]=='c'){
        print_LCS($b,$x,$i-1,$j-1, $XXXXX );/* you need another parameter here or a default value */
        $fLCS[$k] = $x[$i-1]." ";
        $k++;

    } elseif ($b[$i][$j]=='u') {
        print_LCS($b,$x,$i-1,$j,$XXXXX);/* you need another parameter here or a default value */
    } else {
        print_LCS($b,$x,$i,$j-1,$XXXXX);/* you need another parameter here or a default value */
    }
    return array($fLCS);
}

不知道功能在做什么,很难说这是否有效或导致更多问题,但您可以在初始声明中为第五个参数提供默认值,例如:

function print_LCS($b,$x,$i,$j,$k=false){/* rest of function */}

这样,它将愉快地在失败点继续 - 尽管第 5 个参数带来了什么是未知的。