Функция call_user_func_array
Функцията call_user_func_array позволява извикване на callback, като предава параметрите под формата на масив. Първият параметър е името на функцията или метода, а вторият - масив от аргументи.
Синтаксис
call_user_func_array(callable $callback, array $args);
Пример
Извикване на проста функция с предаване на параметри чрез масив:
<?php
function sum($a, $b) {
return $a + $b;
}
$res = call_user_func_array('sum', [2, 3]);
echo $res;
?>
Резултат от изпълнението на кода:
5
Пример
Извикване на метод от клас с предаване на параметри:
<?php
class Calculator {
public function multiply($a, $b) {
return $a * $b;
}
}
$calc = new Calculator();
$res = call_user_func_array([$calc, 'multiply'], [4, 5]);
echo $res;
?>
Резултат от изпълнението на кода:
20
Пример
Използване с анонимна функция:
<?php
$func = function($a, $b, $c) {
return $a + $b + $c;
};
$res = call_user_func_array($func, [1, 2, 3]);
echo $res;
?>
Резултат от изпълнението на кода:
6
Вижте също
-
функцията
call_user_func,
която извиква callback-функция с отделни аргументи -
функцията
function_exists,
която проверява съществуването на функция