[英]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.