Получить количество формальных параметров в переполнении стека

Я знаю, что вы можете использовать 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без жесткого кодирования это.

1

Решение

Один путь с ReflectionFunction, например.:

function optional($a, $b = null) {
return (new ReflectionFunction(__FUNCTION__))->getNumberOfParameters();
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]