HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

call_user_func

Description

The call_user_func of Function Handling for PHP call the callback given by the first parameter.

Syntax

call_user_func(
    callable $callback,
    mixed ...$args
): mixed

Parameters

callback

The callable to be called.

args

Zero or more parameters to be passed to the callback.

NOTE: Note that the parameters for call_user_func() are not passed by reference.

Return

Returns the return value of the callback.

Examples

1 · callback

<?

function myfunction()
{
    return __FUNCTION__ . " Hello World!";
}

$callback = "myfunction";

$return = call_user_func($callback);

echo $return;
myfunction Hello World!

2 · args

<?

function myfunction($myparameter1, $myparameter2)
{
    return __FUNCTION__ . " $myparameter1 $myparameter2";
}

$callback = "myfunction";
$arg1 = "Hello";
$arg2 = "World!";

$return = call_user_func($callback, $arg1, $arg2);

echo $return;
myfunction Hello World!

3 · closure

<?

$myfunction = function($myparameter1, $myparameter2)
{
    return __FUNCTION__ . " $myparameter1 $myparameter2";
};

$callback = $myfunction;
$arg1 = "Hello";
$arg2 = "World!";

$return = call_user_func($callback, $arg1, $arg2);

echo $return;
{closure:/home/osbocom/public_html/php/demo/index.php:3} Hello World!

4 · class

<?

class myclass
{
    static function myfunction($myparameter1, $myparameter2)
    {
        return __METHOD__ . " $myparameter1 $myparameter2";
    }
}

$callback = "myclass::myfunction";
$arg1 = "Hello";
$arg2 = "World!";

$return = call_user_func($callback, $arg1, $arg2);

echo $return;
myclass::myfunction Hello World!

5 · class

<?

class myclass
{
    static function myfunction($myparameter1, $myparameter2)
    {
        return __METHOD__ . " $myparameter1 $myparameter2";
    }
}

$callback = ["myclass", "myfunction"];
$arg1 = "Hello";
$arg2 = "World!";

$return = call_user_func($callback, $arg1, $arg2);

echo $return;
myclass::myfunction Hello World!

6 · class

<?

class myclass
{
    static function myfunction($myparameter1, $myparameter2)
    {
        return __METHOD__ . " $myparameter1 $myparameter2";
    }
}

$callback = [new myclass(), "myfunction"];
$arg1 = "Hello";
$arg2 = "World!";

$return = call_user_func($callback, $arg1, $arg2);

echo $return;
myclass::myfunction Hello World!

7 · namespace

<?

namespace mynamespace;

class myclass
{
    static function myfunction($myparameter1, $myparameter2)
    {
        return __NAMESPACE__ . " $myparameter1 $myparameter2";
    }
}

$callback = __NAMESPACE__ . "\myclass::myfunction";
$arg1 = "Hello";
$arg2 = "World!";

$return = call_user_func($callback, $arg1, $arg2);

echo $return;
mynamespace Hello World!

8 · namespace

<?

namespace mynamespace;

class myclass
{
    static function myfunction($myparameter1, $myparameter2)
    {
        return __NAMESPACE__ . " $myparameter1 $myparameter2";
    }
}

$callback = [__NAMESPACE__ . "\myclass", "myfunction"];
$arg1 = "Hello";
$arg2 = "World!";

$return = call_user_func($callback, $arg1, $arg2);

echo $return;
mynamespace Hello World!