Open In App

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:

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', "GeeksforGeeks");
call_user_func('GFG', "Content");
  
?>

Output:
This is GeeksforGeeks 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')); 
  
?>

Output:
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'));
  
?>

Output:
Geeks
Geeks

Program 4: Using lambda function with call_user_func()




<?php
call_user_func(function($arg) { print "$arg\n"; }, 'GeeksforGeeks');
?>

Output:
GeeksforGeeks

References: http://php.net/manual/en/function.call-user-func.php


Article Tags :