ReflectionFunction::invokeArgs

Invokes function args

Description

public mixed ReflectionFunction::invokeArgs(array $args)

Invokes the function and pass its arguments as array.

Parameters

args

The passed arguments to the function as an array, much like call_user_func_array works.

Return Values

Returns the result of the invoked function

Changelog

Version Description
8.0.0 args keys will now be interpreted as parameter names, instead of being silently ignored.

Examples

Example #1 ReflectionFunction::invokeArgs example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invokeArgs(array('Dr', 'Phil'));
?>

The above example will output:

Dr. Phil

Example #2 ReflectionFunction::invokeArgs with references example

<?php
function get_false_conditions(array $conditions, array &$false_conditions)
{
    foreach ($conditions as $condition) {
        if (!$condition) {
            $false_conditions[] = $condition;
        }
    }
}

$function_ref     = new ReflectionFunction('get_false_conditions');

$conditions       = array(true, false, -1, 0, 1);
$false_conditions = array();

$function_ref->invokeArgs(array($conditions, &$false_conditions));

var_dump($false_conditions);
?>

The above example will output:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Notes

Note:

If the function has arguments that need to be references, then they must be references in the passed argument list.

See Also

  • ReflectionFunction::invoke
  • ReflectionFunctionAbstract::getNumberOfParameters
  • __invoke()
  • call_user_func_array