SYNOPSIS mixed funcall(closure cl, mixed arg ...) DESCRIPTION Evaluates the closure. The extra args will be passed as args to the closure. If cl is not a closure, it will simply be returned. EXAMPLES mixed eval(object ob, string func, mixed *args) { return funcall(#'call_other, ob, func, args); } This will result in calling ob->func(args). In combination with the '...' operator, the functionality of apply() can be implemented: mixed eval(object ob, string func, mixed *args) { return funcall(#'call_other, ob, func, args...); } will result in calling ob->func(args[0],args[1],...,args[sizeof(args)-1]). HISTORY Introduced in 3.2@70. Returning a non-closure as it is even when args are given was introduced with 3.2.1 SEE ALSO apply(E), quote(E)