将匿名回调函数作为参数传递给函数?

Pass anonymous callback function as argument into function?

我想将一个函数发送到另一个函数中,稍后在该函数中执行。这个想法类似于jQuery.

中的回调成功函数

思路是这样的:

function my_function($args)
{
    // ...

    // Code that creates the $result variable

    // ..

    // Execute the calback function, how??:
    $args['callback_function']; // Handle the $result
}

$args = array(
    'callback_function' => function($result)
                            {
                                // $result created in my_function()
                            }
);
my_function($args);

你可以这样做:

$args['callback_function']($result);

或者像这样:

call_user_func($args['callback_function'], $result);

更多信息:http://php.net/manual/en/function.call-user-func.php

例子

function my_function($args)
{
    // ...
    // Code that creates the $result variable
    $result = 1;
    // ...

    call_user_func($args['callback_function'], $result);
}

$args = array(
    'callback_function' => function($result) {
        echo ++$result;
    }
);

my_function($args);

输出

2

使用您自己的示例,您可以这样做...

function my_function($args)
{
    $res= "your value here";

    $args['callback_function']($res); // Handle the $result
}

$args = array(
    'callback_function' => function($result)
                            {
                                var_dump($result);
                            }
);
my_function($args);