PHP-函数反射-在不运行函数的情况下获取所有返回值

时间:2018-11-20 12:13:32

标签: php function reflection return-value

我有类似的功能

function foo($p){
   if ($p == "") return 0;
   return 5;
}

是否有可能获得函数可以返回的所有返回值(在这种情况下为0和5)?我可以运行该函数,但是我不知道哪个值会返回哪个值。

我正在构建某种插件系统,并且该功能由用户定义为lambda。所以我不知道它的复杂性或可能的投入。为了能够获取所有返回值,它将增加用户友好性。当前,用户必须通过类似这样的函数中的变量手动指定它:

function setLambda($lambda, array $returnValues)...

编辑:

返回值将始终为整数。为了使事情变得容易,我希望返回值像示例中那样是硬编码的,而不是计算得出的。

1 个答案:

答案 0 :(得分:1)

假设您有一个类似

的功能
function test($input)
{
 return $input;
}

输出可能是所有可能的字符串,数组,整数,浮点数,对象……。我想你明白我的意思了。
我认为您将无法预测所有可能的返回值,因此答案为