PHP获取已定义函数的参数

时间:2014-07-31 16:40:48

标签: php arrays directory arguments

我正在为PHP库构建一个文档页面。我从retrieving an array of defined functions from a PHP file开始,它在遍历循环的目录中运行良好。

现在我正在尝试检索该函数中定义的参数。在这个例子中......

function askQuestion(&$person, $question) {
  if(!$person['nice']){
    return false;
  }
  else {
    return 'Go to college';
  }
}

我想要检索此字符串:&$person, $question 或某种方式的每个参数的数组?最好,我想通过像&$person这样的引用来了解它是否是一个变量。

我找到了func_get_arg(s)文档但是,根据我的理解,它的意思是检索你正在调用的函数func_get_args()的参数,而不是实际的参数变量名。就研究而言,我对PHP的基础还不够,知道我应该用什么术语来在网上找到这个答案。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

看一下ReflectionFunction课程:

$refFunc = new ReflectionFunction('askQuestion');

$params = array();
foreach($refFunc->getParameters() as $param){
    $params[] = $param->__toString();
}

print_r($params);

输出:

Array
(
    [0] => Parameter #0 [ <required> &$person ]
    [1] => Parameter #1 [ <required> $question ]
)

在线演示here