PHP中的函数是否类似于call_user_func但更像是Tcl的eval?

时间:2012-09-28 10:52:02

标签: php eval tcl

注意:我不认为这个问题与PHP的eval有很大关系。

在Tcl中,eval获取一个列表,使用第一项作为函数(proc)名称,其余项作为参数,例如

eval [list foobar arg1 arg2 arg3]

相当于

foobar arg1 arg2 arg3

在PHP中,call_user_funccall_user_func_array都需要至少两个参数:(1)函数名称,(2)参数或参数数组。

PHP中是否有类似的功能只有一个参数?

我写了自己的,如下所示,但我更喜欢原生方法。

function call_user_array(array $a) {
    return call_user_func_array(array_shift($a), $a);
}

提前感谢任何提示。

<击> P.S。不确定“lambda”是否与此有关,但出于某种原因会想到这个词:如果有更多知识的人请删除标签,如果它实际上不相关,还有这个注释?再次感谢!

1 个答案:

答案 0 :(得分:2)

不,没有内置的东西可以做到这一点。既然它可以在一行中实现(就像你一样),也没有太多理由考虑包括一个。