Fungsi penutupan dalam PHP ialah fungsi tanpa nama yang bersarang dalam fungsi lain yang boleh mengakses pembolehubah fungsi luar. Kata kunci penggunaan boleh digunakan untuk mengakses pembolehubah luaran dalam fungsi penutupan, yang boleh digunakan dalam senario sebenar di mana diskaun perlu digunakan pada setiap elemen dalam senarai.
Fungsi penutupan dalam fungsi PHP
Fungsi penutupan ialah fungsi tanpa nama yang bersarang dalam fungsi lain yang boleh mengakses pembolehubah fungsi luar, walaupun fungsi luar telah kembali. Fungsi penutupan sangat berguna dalam PHP kerana ia membenarkan mencipta blok kod yang boleh digunakan semula dan mengekalkan akses kepada persekitaran luaran.
Mencipta fungsi penutupan
Untuk mencipta fungsi penutupan dalam PHP, gunakan kata kunci
function
关键字,后跟一个可选的名称和参数列表:
$closure = function($arg1, $arg2) { // 函数体 };
闭包函数中的变量范围规则如下:
use
。使用use
关键字
use
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar }; }
use
dalam fungsi penutupan.use
Kata kunci
use
digunakan untuk memperkenalkan pembolehubah luaran ke dalam fungsi penutupan. Contohnya:
function applyDiscount($list, $discountPercentage) { // 创建闭包函数来计算折扣 $discountClosure = function($item) use ($discountPercentage) { return $item - ($item * ($discountPercentage / 100)); }; // 将折扣闭包函数应用于列表中的每个元素 return array_map($discountClosure, $list); }
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar echo "arg1: $arg1
"; echo "outerVar: $outerVar
"; }; // 调用闭包函数 $closure(); } applyDiscount([10, 20, 30], 10); // [9, 18, 27]
Atas ialah kandungan terperinci Bagaimana untuk mencipta fungsi penutupan fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!