我知道你可以使用func_num_args
来获取传入的实际参数的数量。有没有办法获得正式参数的数量?
示例:
<?php
function optional($a, $b = null) {
echo func_num_args();
}
optional(1); // 1
optional(1, 1); // 2
optional(1, 1, 1); // 3
我希望能够在2
的每次调用中获得optional
,而无需对其进行硬编码。
答案 0 :(得分:3)
一种方法是使用ReflectionFunction
,例如:
function optional($a, $b = null) {
return (new ReflectionFunction(__FUNCTION__))->getNumberOfParameters();
}