php - PHP 中的回调 - 我需要解释

标签 php callback

我发现了类似这样的代码:

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

    $callback($p);

}

如何调用这个函数?我应该在 $callback 参数中输入什么?

比方说,我想使用名为 function_2($p) 的函数。

最佳答案

这是您想要的完整解释,直接来自 php 文档: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'));
    }
}

关于php - PHP 中的回调 - 我需要解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17901258/

相关文章:

php - 引号和 mysql 插入的问题

php - 将 POST 数据保存到 Laravel 中的异常上下文

php - 嵌套列表中的 jQuery 奇偶数

c - 使用回调实现在 C 中按值传递数组时出错

javascript - require.js 有时不触发回调函数

android - 在 android 中使用 upi ://进行 UPI 支付的回调 url

javascript - 在 clearInterval 之后执行代码

php - Magento 中cataloginventory_stock_status_idx 和cataloginventory_stock_status_tmp 的用途是什么

php - MySQL 日期格式 : Difference to Greenwich time format

javascript - ExpressJs 在为每个路由发送响应后执行回调