答案: PHP 閉包是一種匿名函數,可以在定義作用域外存取變數。詳細描述:閉包建立:使用 function 關鍵字創建,可以存取定義作用域內的變數。存取變數:閉包可從內部讀取外部變量,存取函數 outer 中定義的變數。實戰案例:用於根據自訂規則(閉包 sortBy)對數組($array)進行排序。優點:可重用性:可儲存在變數中,多次呼叫。可讀性:封裝功能性,使程式碼更易於閱讀。可維護性:修改閉包即可輕鬆更改行為。
閉包是一種匿名函數,它可以在定義作用域之外存取變數。這是 PHP 中一項強大的工具,可以提高程式碼的可重複使用性、可讀性和可維護性。
可以使用function
關鍵字建立閉包,如下所示:
$closure = function ($parameter) { // 闭包代码在这里 };
閉包可以像普通函數一樣呼叫:
$result = $closure('argument');
閉包可以存取定義它的作用域中的變數。這意味著可以從閉包內部引用外部變數。
例如,以下程式碼建立一個閉包,該閉包將由函數outer
傳回:
function outer() { $outerVar = 10; return function () { // 访问外部变量 $outerVar return $outerVar; }; }
以下是一個使用閉包對數組排序的實戰案例:
$array = [5, 3, 1, 2, 4]; // 使用闭包创建排序算法 $sortBy = function ($a, $b) { return $a - $b; }; // 用 usort 对数组进行排序 usort($array, $sortBy); // 输出排序后的数组 print_r($array);
以上是PHP高階特性:深入解析閉包的奧秘的詳細內容。更多資訊請關注PHP中文網其他相關文章!