(PHP 5 >= 5.1.0, PHP 7)
ReflectionFunction::invokeArgs — Вызов функции с передачей аргументов
Вызывает функцию и передает ей аргументы в виде массива.
args
Передаваемые функции аргументы в виде массива. Поведение функции схоже с call_user_func_array().
Возвращает результат выполнения вызванной функции.
Пример #1 Пример использования ReflectionFunction::invokeArgs()
<?php
function title($title, $name)
{
return sprintf("%s. %s\r\n", $title, $name);
}
$function = new ReflectionFunction('title');
echo $function->invokeArgs(array('Dr', 'Phil'));
?>
Результат выполнения данного примера:
Dr. Phil
Пример #2 Пример использования ReflectionFunction::invokeArgs() со ссылками на аргументы
<?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);
?>
Результат выполнения данного примера:
array(2) { [0]=> bool(false) [1]=> int(0) }
Замечание:
Если функция имеет аргументы, которые должны быть ссылками, то они должны быть ссылками и в переданном спике аргументов.