微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP中的回调 – 我需要解释

我发现代码与此类似:

function function_1($callback) 
{
    // not related code removed

    $callback($p);

}

如何调用功能?我应该在$callback参数中放什么?

可以说,我想使用名为function_2($p)的函数.

解决方法:

以下是您想要的完整解释,直接来自PHP docs:Callbacks.

如果您使用的是PHP 5.3,则可以传递lambda(也称为匿名函数):

<?PHP function_1(function ($p) { ... });

如果需要支持以前版本的PHP,则需要定义常规函数或实例方法.由于您显示代码使用的是$callback()而不是call_user_func($callback),因此您不需要这样做.

<?PHP

// without a class
function function_2 ($p) { ... }
function_1('function_2');

// with a class
class A {
    public function function_2 ($p) { ... }

    public function doIt () {
        function_1(array($this, 'function_2'));
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐