2010-07-08 3 views
1

Как я могу знать фактическое количество пар функции имеет,PHP функция фактический PARAMS

я знаю, что func_num_args возвращает количество переданных аргументов внутри функции, но как насчет снаружи ???

function foo($x,$y) 
{ 
// any code 
} 

, как я могу знать, динамически реальное кол аргументах, которые связывают с этой функцией

ответ

8

я взять его из SO Ответ: PHP function to find out the number of parameters passed into function?

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 

} 
+0

Небольшая коррекция $ info-> getParameters(); - все, о чем я мечтаю – shereifhawary