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

时间:2018-05-17 18:14:18

标签: php function callback anonymous-function

我想将一个函数发送到另一个函数中,以便稍后在该函数内执行。这个想法类似于jQuery中的回调成功函数。

这个想法是这样的:

while(u!=1)
{
    if(u%2==0)
    {
        u=u/2;
    }else{
    u=u*3+1;
    }
    count = count + 1;
}

2 个答案:

答案 0 :(得分:1)

你可以这样做:

$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

答案 1 :(得分:1)

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

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);