Tendras que disculparme

lo mismo he cogido una idea equivocada
Ya pasara por el manual, pero de entrada se me hacen algo confusos los call_user_func:
formatos:
Cita: mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
mixed call_user_func_array ( callable $callback , array $param_arr )
Supongo que te refieres a que no es lo mismo:
Código PHP:
call_user_func_array(array($controlador,$metodo) ,array('a','b','c') );
que:
Código PHP:
$array = array('a','b','c');
call_user_func_array(array($controlador,$metodo) ,$array ); // donde solo me llegaría $array='a' en el controlador;
//Es lo que me desconcierta, envio un array y me llega un vector con la primera posición del array
Según leo function_user_func() esta presente desde PHP 5.4, como minimo parece que permite llamar a una función aceptanto opcionalmente un segundo parametro a mayores, donde parece que acepta una variable que contiene un array
Según leo function_user_func_array() es mas antigua y necesita los 2 parametros, donde en el siguiente ejemplo lo usan para pasar 2 arrays, el primer array lleva la clase y el metodo mientras que el segundo array lleva los argumentos, lo he visto en:
https://www.youtube.com/watch?v=cQ0o-2aYT2Q Código PHP:
$argumentos=array('uno','dos','tres','cuatro','cinco')
if (isset($argumentos)) {
call_user_func_array([new $controlador,$metodo],$argumentos);
} else {
call_user_func([new $controlador,$metodo]);
}