首頁 >後端開發 >php教程 >如何在 PHP 中存取匿名函數參數中的外部變數?

如何在 PHP 中存取匿名函數參數中的外部變數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-14 21:32:021036瀏覽

How to Access External Variables Within Anonymous Function Parameters in PHP?

將外部變數合併到匿名函數參數

在程式設計中,經常需要存取在函數作用域之外定義的變數。當使用匿名函數作為參數時,此任務可能具有挑戰性。

讓我們考慮以下場景:函數 fetch() 用於處理資料庫行並將它們作為參數傳遞給匿名函數。每行都可以使用 $r['title'] 訪問,但需要將這些標題連接到一個變數。

雖然可以使用全域修飾符,但這不是優雅的解決方案。更合適的方法是使用use 關鍵字,如以下程式碼所示:

$result = '';
fetch("SELECT title FROM tbl", function($r) use (&$result) {
   $result .= $r['title'];
});

use 關鍵字透過引用捕捉外部變數result (&$result) 並使其在匿名函數中可用.

但請注意,use() 參數表現出早期綁定。這意味著它們在 lambda 函數宣告時使用變數的值,而不是在呼叫時(後期綁定)。

以上是如何在 PHP 中存取匿名函數參數中的外部變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn