2016-04-13 102 views
0

所以我有一個回調函數的設置,我想出了我的代碼運行和不需要重複查詢的最有效的方法將是獲得一個變量,由回調函數和使用它在功能的一面。從回調函數檢索變量

所以我有一個函數,如下所示:

// 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; 

嘗試使用該變量就好像它是空的,但它在那裏。

是否有另一種方法從回調函數獲取變量?我是新來的回調,所以我很抱歉,如果這已被問及或是一個簡單的修復。

回答

0

您需要從您的回調中返回變量,然後將其提供給調用它的代碼。

<?php 
function runCallback($callback) { 
    $id = $callback(); 

    echo $id; // 1234 
} 

runCallback(function() { 
    $id = 1234; 
    return $id; 
});