PHP函数找出传递给函数的参数个数?

时间:2010-05-11 14:17:54

标签: php function arguments

是否有PHP函数可以找到要接收/传递给特定函数的参数数量?

4 个答案:

答案 0 :(得分:12)

func_num_args

  

获取传递给函数的参数数量。

以下是从上面的链接中获取的示例

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs\n";
}

foo(1, 2, 3);   
?>

哪个输出,

Number of arguments: 3

答案 1 :(得分:2)

答案 2 :(得分:1)

func_num_args()func_get_args()获取参数值

来自文档:

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs\n";
}

foo(1, 2, 3);   
?>

以上示例将输出:

参数数量:3

答案 3 :(得分:1)

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

}