Can I use a function to return a default param in php?

后端 未结 4 983
予麋鹿
予麋鹿 2021-01-22 21:07

I would like to do something like this:

function readUser($aUser = loadDefaultUser()){

 //doing read User
}

I find that it will display a erro

4条回答
  •  时光取名叫无心
    2021-01-22 21:07

    Yes, you can provide a default argument. However, the default argument "must be a constant expression, not (for example) a variable, a class member or a function call."

    You can fake this behaviour by using some constant value for the default, then replacing it with the results of a function call when the function is invoked.

    We'll use NULL, since that's a pretty typical "no value" value:

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

提交回复
热议问题