Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 匿名函数/闭包的参数列表_Php - Fatal编程技术网

Php 匿名函数/闭包的参数列表

Php 匿名函数/闭包的参数列表,php,Php,假设我有一个匿名函数: $my_function = function($par1, $par2) { // Do something }; 有没有一种方法可以在不执行函数的情况下获取参数列表?大概是这样的: $parameter_list = get_func_params($my_function); 结果应包含所有必需功能参数的列表: Array ( [0] => par1 [1] => par2 ) get_func_params可以包含哪些代码

假设我有一个匿名函数:

$my_function = function($par1, $par2) {
    // Do something
};
有没有一种方法可以在不执行函数的情况下获取参数列表?大概是这样的:

$parameter_list = get_func_params($my_function);
结果应包含所有必需功能参数的列表:

Array (
    [0] => par1
    [1] => par2
)
get_func_params
可以包含哪些代码来返回这样一个数组? 背景是,我使用的通用代码应该检查所提供的闭包是否实现了所需的参数逻辑

我不想使用类或接口解决此问题。

请尝试以下方法:

$my_function = function($par1, $par2) {
    // Do something
};

$reflection = new ReflectionFunction($my_function);
var_dump($reflection->getParameters());

太棒了,我不知道反射函数。谢谢除非你的问题是关于一个特定的PHP版本(例如,因为只在那里添加了一个功能),否则只需标记[PHP]:)@NikiC我明白。虽然我认为至少php-5.3是合适的,因为闭包在该版本之前是不可用的。同意吗?