簡體   English   中英

PHP變量范圍:通過引用將默認值的參數傳遞給匿名函數?

[英]PHP Variable scope: Pass parameter by reference with default value to anonymous function?

我試圖遍歷一個mysql結果並在每條記錄上運行一個匿名函數,但是我在變量范圍方面遇到了一些麻煩。 這個問題是更大流程的一部分,但是我在這里創建了一個簡化的示例,簡單地演示了該問題:

function runLoop($some_mysql_resource){
    $res = 'RESULTS: ';
    sqlEach($some_mysql_resource, function($sql){
        $res .= $sql['id'].',';
    })
    return $res;
);

有什么方法可以使上面的runLoop函數在不更改邏輯流程的情況下輸出以下內容?

RESULTS: 1,2,3,4,etc...

使用use $res作為參數“通過引用”傳遞給您的回調

function runLoop($some_mysql_resource){
    $res = 'RESULTS: ';
    sqlEach($some_mysql_resource, function($sql) use (&$res) {
        $res .= $sql['id'].',';
    })
    return $res;
);

我假設$sql是在您的真實代碼中定義的,因此具有作用域

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM