如何将匿名回调函数作为参数传入PHP函数?
嘿,我来帮你搞定这个回调函数的执行问题!你的思路完全没问题——就像jQuery里的成功回调那样,PHP也支持把函数作为参数传递并延迟执行,你现在只差最后一步:正确调用传入的回调函数。
修正后的完整实现
function my_function($args) { // 这里是创建$result变量的业务代码,举个例子: $result = "这是my_function处理完成后的结果"; // 执行回调函数的正确方式 if (isset($args['callback_function']) && is_callable($args['callback_function'])) { $args['callback_function']($result); } } $args = array( 'callback_function' => function($result) { // 在这里处理my_function传递过来的$result echo "回调函数收到结果:" . $result; } ); my_function($args);
关键细节说明
- 调用回调的核心操作:你之前写的
$args['callback_function']只是拿到了这个函数对象,要执行它必须加上括号(),并把需要传递的参数(比如$result)放进括号里,和调用普通函数的逻辑一致。 - 安全检查很重要:我额外加了
isset()和is_callable()的判断,能避免当callback_function不存在或者不是可调用函数时触发错误,让代码更健壮。 - 匿名函数的适配性:你用的匿名函数(闭包)完全适配这个场景,它可以直接接收传递的参数,和jQuery回调的使用逻辑高度匹配。
内容的提问来源于stack exchange,提问作者Peter Westerlund
相关产品推荐
相关产品推荐

