Eine Abschlussfunktion in PHP ist eine anonyme Funktion, die in einer anderen Funktion verschachtelt ist und auf die Variablen der äußeren Funktion zugreifen kann. Das Schlüsselwort use kann für den Zugriff auf externe Variablen in der Abschlussfunktion verwendet werden, was in tatsächlichen Szenarien angewendet werden kann, in denen Rabatte auf jedes Element in der Liste angewendet werden müssen.
Abschlussfunktionen in PHP-Funktionen
Eine Abschlussfunktion ist eine anonyme Funktion, die in einer anderen Funktion verschachtelt ist und auf die Variablen der äußeren Funktion zugreifen kann, auch wenn die äußere Funktion zurückgegeben wurde. Abschlussfunktionen sind in PHP sehr nützlich, da sie die Erstellung wiederverwendbarer Codeblöcke und die Aufrechterhaltung des Zugriffs auf die externe Umgebung ermöglichen.
Eine Abschlussfunktion erstellen
Um eine Abschlussfunktion in PHP zu erstellen, verwenden Sie das Schlüsselwort function
, gefolgt von einem optionalen Namen und einer Argumentliste: function
关键字,后跟一个可选的名称和参数列表:
$closure = function($arg1, $arg2) { // 函数体 };
闭包函数中的变量范围规则如下:
use
。使用 use
关键字
use
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar }; }
use
deklariert. use
Das Schlüsselwort use
wird verwendet, um externe Variablen in die Abschlussfunktion einzuführen. Zum Beispiel: 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<br>"; echo "outerVar: $outerVar<br>"; }; // 调用闭包函数 $closure(); } applyDiscount([10, 20, 30], 10); // [9, 18, 27]
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Abschlussfunktion einer PHP-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!