PHP | call_user_func() Function
Last Updated :
25 Jun, 2018
Improve
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:
php
php
php
php
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.
<?php
function GFG($value)
{
echo "This is $value site.\n";
}
call_user_func('GFG', "GeeksforGeeks");
call_user_func('GFG', "Content");
?>
<?php
function GFG($value)
{
echo "This is $value site.\n";
}
call_user_func('GFG', "GeeksforGeeks");
call_user_func('GFG', "Content");
?>
Output:
Program 2: call_user_func() using namespace name
This is GeeksforGeeks site. This is Content site.
<?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'));
?>
<?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'));
?>
Output:
Program 3: Using a class method with call_user_func()
GeeksForGeeks GeeksForGeeks
<?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'));
?>
<?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'));
?>
Output:
Program 4: Using lambda function with call_user_func()
Geeks Geeks
<?php
call_user_func(function($arg) { print "$arg\n"; }, 'GeeksforGeeks');
?>
<?php
call_user_func(function($arg) { print "$arg\n"; }, 'GeeksforGeeks');
?>
Output:
References: http://php.net/manual/en/function.call-user-func.php
GeeksforGeeks