Есть ли функция PHP для поиска количества параметров, которые должны быть получены / переданы определенной функции?
func_num_args
Возвращает количество аргументов, переданных функции.
Вот пример, взятый из ссылки выше,
<?php function foo() { $numargs = func_num_args(); echo "Number of arguments: $numargs\n"; } foo(1, 2, 3); ?>
Какие результаты,
Number of arguments: 3
Попробуйте func_num_args
:
func_num_args () и func_get_args (), чтобы получить значение аргументов
Из документации:
<?php function foo() { $numargs = func_num_args(); echo "Number of arguments: $numargs\n"; } foo(1, 2, 3); ?>
Вышеприведенный пример выводит:
Количество аргументов: 3
Функция func_number_args () ограничена только вызываемой функцией. Вы не можете извлекать информацию о функции динамически вне функции во время выполнения.
Если вы пытаетесь извлечь информацию о функции во время выполнения, я рекомендую подход Reflection:
if(function_exists('foo')) { $info = new ReflectionFunction('foo'); $numberOfArgs = $info->getNumberOfParameters(); // this isn't required though $numberOfRequiredArgs = $info->getNumberOfRequiredParameters(); // required by the function }