如何检查函数是否可以使用参数调用?

Val*_*res 3 php

我用call_user_func_array调用一个函数:

call_user_func_array(array($this, 'myFunction'), array('param1', 'param2', 'param3'));
Run Code Online (Sandbox Code Playgroud)

除非我不知道函数需要多少参数,否则一切都很好.如果该函数需要4个参数,它会向我发送一个错误,我想测试是否可以调用该函数(带有一个参数数组).is_callable()不允许参数检查.编辑:如果调用失败,我需要调用另一个函数,这就是我需要检查的原因.

谢谢!

Tom*_*igh 8

您可以使用反射来获取参数的数量:

$refl = new ReflectionMethod(get_class($this), 'myFunction');
$numParams = $refl->getNumberOfParameters();
Run Code Online (Sandbox Code Playgroud)

要么

$numParams = $refl->getNumberOfRequiredParameters();
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见此处