...

viernes, febrero 27, 2009

argumentos variables en php

queres tener una funcion con argumentos variables en php?
tenes un array y queres llamar a una funcion con esos argumentos?
'<,'>s/funcion/metodo/g? ;)

entonces este post es para vos!

salio marquerinero el arranque...

bueno ante esas necesidades hice este ejemplito, es un poco tricky pero se puede hacer..

aca va

<?php

function suma($num1, $num2)
{
return $num1 + $num2;
}

function resta($num1, $num2)
{
return $num1 - $num2;
}

function operacion()
{
$args = func_get_args();
$op = array_shift($args);
print($op . '=');
if($op == "suma")
{
print(call_user_func_array('suma', $args));
}
elseif($op == "resta")
{
print(call_user_func_array('resta', $args));
}
else
{
print('?');
}
}

class Foo
{
public function __construct()
{

}

public function suma($num1, $num2)
{
return $num1 + $num2;
}

public static function resta($num1, $num2)
{
return $num1 - $num2;
}
}

$foo = new Foo();

operacion("suma", 2, 2);
operacion("resta", 2, 2);
operacion("asd", 2, 2);
// como llamar a un metodo de un objeto
print('$foo->suma=' . call_user_func_array(array($foo, 'suma'), array(2, 2)));
// como llamar al metodo de una clase
print('Foo::resta=' . call_user_func_array(array('Foo', 'resta'), array(2, 2)));

?>

Seguidores

Archivo del blog

Datos personales

Mariano Guerra
Soy Mariano Guerra nacido en 1985 estudio ingenieria en sistemas me gusta mucho pero mucho la musica, tambien me gusta la informatica etc
Ver todo mi perfil