正在从回调函数中检索变量


Retrieving variables from Callback functions

所以我设置了一个回调函数,我发现了运行代码和不需要重复查询的最有效方法是获取回调函数生成的变量,并在函数外使用它。

所以我有一个这样的函数:

 // Not as important.
 myCallbackFunction(callable $callback) {
   // Some stuff executed.
   $callback($VARIABLE);
 }
 // Front end of the code
 $OBJECT->myCallbackFunction(function($RANDOM)) {
   $id = 1; // Example number that is given.
 });

所以我需要回调函数中的$id变量,所以我在前端添加了以下代码:

global $id;

尝试使用该变量就好像它是空的,但它是存在的。

有没有其他方法可以从回调函数中获取变量?我是回拨的新手,所以如果以前有人问过我,或者这是一个简单的解决方案,我很抱歉。

您需要从回调中返回变量,然后它将可用于调用它的代码,例如

<?php
function runCallback($callback) {
    $id = $callback();
    echo $id; // 1234
}
runCallback(function() {
    $id = 1234;
    return $id;
});