Можно ли использовать переменную вместо имени функции?
Это называется "анонимные функции"$name_fanc = function() { ... };
То есть название функции является переменной, тогда:$funcName = ... ;

$result = call_user_func($funcName, $arg1, $arg2, ..., $argN);
// или если аргументы в виде массива
$result = call_user_func_array($funcName, array($arg1, $arg2, ..., $argN));