Always use the actual function name when you know it.
call_user_func is for calling functions whose name you don’t know ahead of time but it is much less efficient since the program has to lookup the function at runtime. Also useful if you don’t know how many arguments you are passing. call_user_func calls functions with a series of individual parameters.
call_user_func_array calls functions with array of parameters.