首页 > 解决方案 > PHP - 函数反射 - 在不运行函数的情况下获取所有返回值

问题描述

我有一个像

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

是否有可能以某种方式获取函数可以返回的所有返回值(在本例中为 0 和 5)?我可以运行该函数,但我不知道哪个值会返回哪个值。

我正在构建某种插件系统,此功能是用户定义为 lambda。所以我不知道它的复杂性或可能的输入。为了能够获取所有返回值,它将增加用户友好性。目前,用户必须通过函数中的变量手动指定它,如下所示:

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

编辑:

返回值将始终为整数。为了让事情变得更简单,我希望返回值像示例中那样被硬编码,而不是计算。

标签: phpfunctionreflectionreturn-value

解决方案


想象一下你有一个像

function test($input)
{
 return $input;
}

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


推荐阅读