检查函数是否需要参数

时间:2011-07-23 11:16:53

标签: php

例如我需要一些代码:

if(need_params('function_name')):
    print 'function_name($params)';
else
    print 'function_name()';
endif;

4 个答案:

答案 0 :(得分:2)

您可以通过getNumberOfParamers()获取函数参数的数量。

您可以检查结果是> 0

答案 1 :(得分:2)

您可以使用反射来执行此操作:

function need_params($func_name)
{
    $reflect = new ReflectionFunction($func_name);

    return !empty($reflect->getParameters());
}

答案 2 :(得分:2)

您应该可以使用Reflection API找到它。


ReflectionFunctionAbstract::getNumberOfParameters()方法看起来就像你需要的那样,以便知道函数是否需要一些参数。

您可以查看ReflectionFunction,了解您可以使用它做些什么。

答案 3 :(得分:2)

您应该查看ReflectionFunction Class

<?php
function need_params($func) {
    $reflection = new ReflectionFunction($func);

    return $reflection->getNumberOfParameters();
}

// use
function foo($arg) {}

echo need_params('foo') > 0 ? 'Needs params' : 'No params';
?>