ReflectionFunction::invokeArgs
(PHP 5 >= 5.1.2, PHP 7, PHP 8)
Invokes function args
Description
Invokes the function and pass its arguments as array.
Parameters
argsThe parameters to be passed to the function, as an
array, much likecall_user_func_array()works.If the keys of
argsare all numeric, the keys are ignored and each element is passed to the function as a positional argument, in order.If any keys of
argsare strings, those elements are passed to the function as named arguments, with the name given by the key.An
Erroris thrown if a numeric key inargsappears after a string key, or if a string key does not match the name of any parameter of the function.
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
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. PhilReflectionFunction::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
Reference
See Also
ReflectionFunction::invokeReflectionFunctionAbstract::getNumberOfParameters- __invoke()
call_user_func_array()