(PHP 5 >= 5.1.0, PHP 7)
ReflectionFunction::invokeArgs — Invoca a la función con argumentos
Invoca la función y pasa sus argumentos como array.
args
Array con la lista de argumentos que se pasan a la función, similar a cómo funciona call_user_func_array().
Devuelve el resultado de la función invocada
Ejemplo #1 Ejemplo de ReflectionFunction::invokeArgs()
<?php
function titulo($titulo, $nombre)
{
return sprintf("%s. %s\r\n", $titulo, $nombre);
}
$function = new ReflectionFunction('titulo');
echo $function->invokeArgs(array('Sr', 'Pedro'));
?>
El resultado del ejemplo sería:
Dr. Pedro
Ejemplo #2 Ejemplo de ReflectionFunction::invokeArgs() con argumentos por referencia
<?php
function obtener_condiciones_falsas(array $condiciones, array &$condiciones_falsas)
{
foreach ($condiciones as $condicion) {
if (!$condicion) {
$condiciones_falsas[] = $condicion;
}
}
}
$ref_a_funcion = new ReflectionFunction('obtener_condiciones_falsas');
$condiciones = array(true, false, -1, 0, 1);
$condiciones_falsas = array();
$ref_a_funcion->invokeArgs(array($condiciones, &$condiciones_falsas));
var_dump($condiciones_falsas);
?>
El resultado del ejemplo sería:
array(2) { [0]=> bool(false) [1]=> int(0) }
Nota:
Si la función tiene argumentos que necesitan ser referencias, éstos deben ser referencias en la lista de argumentos pasados.