我可以使用函数来返回一个默认的参数在PHP中?

我想要做这样的事情:

function readUser($aUser = loadDefaultUser()){

 //doing read User
}

我发现它会向我显示一个错误,我如何将函数返回值作为默认值传递? 谢谢。


是的,您可以提供默认参数。 但是,默认参数“必须是常量表达式,而不是(例如)变量,类成员或函数调用”。

您可以通过对默认值使用某个常量值来伪造此行为,然后在调用该函数时将其替换为函数调用的结果。

我们将使用NULL ,因为这是一个非常典型的“无值”值:

function readUser($aUser = NULL) {
    if (is_null($aUser))
        $aUser = loadDefaultUser();

    // ... your code here
}

我宁愿给这个参数一个Null值,然后在函数的主体中调用loadDefaultUser() 。 像这样的东西:

function readUser($aUser = NULL){
    if(is_null($aUser)){
        $aUser = loadDefaultUser();
    }
    //...
}

您可以在loadDefaultUser()函数完成时向其添加回调参数,并使用返回值/结果触发回调函数。 这有点像ajax-javascript回调。

function loadDefaultUser ( $callback ) 
{
   $result = true;       
   return $callback($result);
}
链接地址: http://www.djcxy.com/p/69697.html

上一篇: Can I use a function to return a default param in php?

下一篇: foreach loop in while loop with div inside list element