Skip to content
Related Articles

Related Articles

PHP | call_user_func() Function
  • Last Updated : 25 Jun, 2018

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', "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

My Personal Notes arrow_drop_up
Recommended Articles
Page :