PHP | call_user_func() Function

The call_user_func() is an inbuilt function in PHP which is used to call the callback given by the first parameter and passes the remaining parameters as argument. It is used to call the user-defined functions.
Syntax:
mixed call_user_func ( $function_name[, mixed $value1[, mixed $... ]])
Here, mixed indicates that a parameter may accept multiple types.
Parameter: The call_user_func() function accepts two types of parameters as mentioned above and described below:
- $function_name: It is the name of function call in the list of defined function. It is a string type parameter.
- $value: It is mixed value. One or more parameters to be passed to the function.
Return Value: This function returns the value returned by the callback function.
Below programs illustrate the call_user_func() function in PHP:
Program 1: Call the function
<?php function GFG($value) { echo "This is $value site.\n"; } call_user_func('GFG', "zambiatek"); call_user_func('GFG', "Content"); ?> |
This is zambiatek site. This is Content site.
Program 2: call_user_func() using namespace name
<?php namespace Geeks; class GFG { static public function demo() { print "GeeksForGeeks\n"; } } call_user_func(__NAMESPACE__ .'\GFG::demo'); // Another way of declaration call_user_func(array(__NAMESPACE__ .'\GFG', 'demo')); ?> |
GeeksForGeeks GeeksForGeeks
Program 3: Using a class method with call_user_func()
<?php class GFG { static function show() { echo "Geeks\n"; } } $classname = "GFG"; call_user_func($classname .'::show'); // Another way to use object $obj = new GFG(); call_user_func(array($obj, 'show')); ?> |
Geeks Geeks
Program 4: Using lambda function with call_user_func()
<?php call_user_func(function($arg) { print "$arg\n"; }, 'zambiatek'); ?> |
zambiatek
References: http://php.net/manual/en/function.call-user-func.php



