ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.0, PHP 7)
Invokes function args
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.

Returns:

Returns the result of the invoked function

Notes:

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

Examples:
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
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)
}
See also:

ReflectionFunction::invoke() -

ReflectionFunctionAbstract::getNumberOfParameters() -

__invoke() -

call_user_func_array() -

doc_php
2016-02-24 16:13:32
Comments
Leave a Comment

Please login to continue.