我发现了类似这样的代码:
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/