Hola quimfv, gracias por responder. Yo ya se que se puede hacer así como me lo mostras, pero simplemente quería saber si hay alguna funcion que permita pasar los parámetros dentro de un array pero que llegen al scope de la funcion como variables individuales.
Es decir tengo definida asi una funcion:
funcion A($p1, $p2, $p3){
echo $p1;
echo $p2;
echo $p3;
}
ademas tengo un array con parámetros:
$params = array("p1", 2, "p3");
entonces pensaba que tal vez existia alguna funcion asi
invocar_funcion(A, $params);
Osea, que no tendría que modificar la funcion A para recibir un array en vez de los parámetros separados.
----------------------------------------------------------------------------------
Hola. Acabo de encontrar lo que buscaba. Lo pongo por si a alguien le sirve:
Es esta funcion
mixed call_user_func_array ( callable $callback , array $param_arr )
[URL="http://php.net/manual/en/function.call-user-func-array.php"]http://php.net/manual/en/function.call-user-func-array.php[/URL]
Ejemplo:
Código PHP:
<?php
function foobar($arg, $arg2) {
echo __FUNCTION__, " got $arg and $arg2\n";
}
class foo {
function bar($arg, $arg2) {
echo __METHOD__, " got $arg and $arg2\n";
}
}
// Call the foobar() function with 2 arguments
call_user_func_array("foobar", array("one", "two"));
// Call the $foo->bar() method with 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
?>
Y un ejemplo con metodos
Código PHP:
$handler = array( 'MyClass', 'MyMethod');
$params = array(1,2,3,4);
if ( is_callable($handler) ) { call_user_func_array( $handler , $params ); }
La unica mala noticia es que aunque se puede pasar una clase instanciada como parametro no se tiene acceso a las varibles del objeto, si a las de la clase, pero algo es algo...
Saludos.