1

注意:我认为这个问题与 PHP 的eval.

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

eval [list foobar arg1 arg2 arg3]

相当于

foobar arg1 arg2 arg3

在 PHP 中,两者都call_user_func需要call_user_func_array至少两个参数:(1) 函数名,和 (2) 参数或参数数组。

PHP中是否有类似的函数只接受一个参数?

我自己写了,如下所示,但我更喜欢本机方法。

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

提前感谢您的任何提示。

PS不确定“lambda”是否与此有关,但出于某种原因想到了这个词:如果它实际上不相关,是否会有更多知识渊博的人删除标签,以及这个注释?再次感谢!

4

1 回答 1

2

不,没有任何内置功能可以做到这一点。由于它可以在一行中实现(就像您所做的那样),因此也没有太多理由考虑包含一个。

于 2012-09-28T10:54:09.153 回答