Используйте встроенный call_user_func () . Может быть необходимо использовать call_user_func_array ()
function work($a, $c) {
$a = filter($a)
if(!is_callable($c) || !call_user_func($c, $a)) {
return 0; // throw error
} else {
return 1; // return success
}
}
Это безопаснее, чем просто сделать $c($a)
a.k.a пройденный_требованием (прошедший_аргумент), потому что проверка, чтобы увидеть, существует ли эта функция на самом деле, для вас сделана, хотя некоторые прокомментировали снижение производительности по сравнению с $c($a)
.