匿名函数参数信息不正确

时间:2017-03-10 15:36:59

标签: php parameters closures

我需要根据匿名函数的参数编写代码。以下代码正确地给出了参数。

示例代码1:

class test{

}

$func = function($a, $b, test $t, $c = 'new') {
    echo 'test function ran'.PHP_EOL;
};

$info = new ReflectionFunction($func);

var_dump(
    $info->getName(), 
    $info->getNumberOfParameters(), 
    $info->getNumberOfRequiredParameters()
);

结果var_dump

string(9) "{closure}"
int(4)
int(3)

更改参数顺序时结果不同。你有这方面的信息吗?

示例代码2:

class test{

}

$func = function($a, $b, $c = 'new', test $t ) {
    echo 'test function ran'.PHP_EOL;
};

$info = new ReflectionFunction($func);

var_dump(
    $info->getName(), 
    $info->getNumberOfParameters(), 
    $info->getNumberOfRequiredParameters()
);

结果var_dump

string(9) "{closure}"
int(4)
int(4)

对不起,我的英语不好。我希望我能说出来。

---更新 - 谢谢你的答案。我现在明白了。 enter image description here

0 个答案:

没有答案