我寻找一个PHP函数签名的确切类型Required Parameter
的PHP函数所需的参数混乱
初始化是否只与NULL使它成为一个可选的参数?即
function foo($optional=NULL, $OptionalOrRequired="Optional Or Required", $required){}
我对第二个参数感到困惑,它是否在Required或Optional参数中?
UPDATE
我使用reflection
让所有和所需的功能参数
public function getPlayer($params=3, $c){}
// results
$reflection->getNumberOfParameters() -> 2
$reflection->getNumberOfRequiredParameters() -> 2 // it should be one
public function getPlayer($params=3, $c, $x=NULL)
// results
$reflection->getNumberOfParameters() -> 3
$reflection->getNumberOfRequiredParameters() -> 2
正如我在一个答案,默认自带之前需要得到的,这是什么原因的反射功能返回所需参数的错误数量?
感谢
基本上,你从函数声明中省略了参数的右边,即'= null',那么它是必需的,否则如果没有提供,参数就会假设你在参数声明右边指定的默认值。 – Gavin
感谢您的快速回复加文,我真的很困惑这个NULL与我在第二个参数中使用的实际值。在给定的方法签名是第二个参数可选或需要? – Junaid
可选的,因为你已经提供了它的默认值,如果用户在调用它时不提供一个值。 – Gavin