Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mencipta fungsi penutupan fungsi PHP?
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 }; }Pembolehubah dalam fungsi penutupan Peraturan skop ialah seperti berikut:
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); }Contoh Praktikal🎜🎜Andaikan anda perlu mencipta fungsi yang menggunakan diskaun untuk setiap elemen dalam senarai. Untuk melakukan ini, anda boleh mencipta fungsi penutupan untuk mengira jumlah diskaun: 🎜
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar echo "arg1: $arg1<br>"; echo "outerVar: $outerVar<br>"; }; // 调用闭包函数 $closure(); } applyDiscount([10, 20, 30], 10); // [9, 18, 27]🎜🎜Kod penuh: 🎜🎜rrreee
Atas ialah kandungan terperinci Bagaimana untuk mencipta fungsi penutupan fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!