call_user_func_array
(PHP 4 >= 4.0.4, PHP 5)
call_user_func_array — Вызывает пользовательскую функцию с массивом параметров
Описание
Вызывает пользовательскую функцию function , с параметрами из массива param_arr . Например:
Пример #1 Использование call_user_func_array()
<?php
function debug($var, $val)
{
echo "***DEBUGGING\nVARIABLE: $var\nVALUE:";
if (is_array($val) || is_object($val) || is_resource($val)) {
print_r($val);
} else {
echo "\n$val\n";
}
echo "***\n";
}
$c = mysql_connect();
$host = $_SERVER["SERVER_NAME"];
call_user_func_array('debug', array("host", $host));
call_user_func_array('debug', array("c", $c));
call_user_func_array('debug', array("_POST", $_POST));
?>
См. также call_user_func().
Коментарии
Using PHP 8, call_user_func_array call callback function using named arguments if an array with keys is passed to $args parameter, if the array used has only values, arguments are passed positionally.
<?php
function test(string $param1, string $param2): void
{
echo $param1.' '.$param2;
}
$args = ['hello', 'world'];
//hello world
call_user_func_array('test', $args);
$args = ['param2' => 'world', 'param1' => 'hello'];
//hello world
call_user_func_array('test', $args);
$args = ['unknown_param' => 'hello', 'param2' => 'world'];
//Fatal error: Uncaught Error: Unknown named parameter $unknown_param
call_user_func_array('test', $args);
?>