Dieser Artikel bietet Ihnen eine Zusammenfassung der Techniken zur Verwendung anonymer PHP-Funktionen (mit Code). Ich hoffe, dass er für Freunde hilfreich ist.
Anonyme Funktionen in PHP, auch Abschlussfunktionen genannt, ermöglichen es Ihnen, eine Funktion ohne Namen anzugeben. Weisen Sie die anonyme Funktion einer Variablen zu und rufen Sie sie über die Variable auf. Ein einfaches Beispiel:
<?php $anonymousFunc = function($username){ echo $username; }; $anonymousFunc("乔峰!");
Tipp 1: Platzieren Sie die anonyme Funktion In gewöhnlichen Funktionen können auch anonyme Funktionen zurückgegeben werden und so einen einfachen Abschluss bilden
<?php function closureFunc(){ $anonymousFunc = function(){ echo "乔峰!"; }; $anonymousFunc();//普通函数内部调用了匿名函数 } closureFunc();//输出: 乔峰
Tipp 2 in Lokale Variablen in anonymen Funktionen referenzieren (siehe hier die Verwendung eines PHP-Schlüsselworts)
<?php function closureFunc(){ $username = '乔峰'; $anonymousFunc = function() use($username){ echo $username; }; $anonymousFunc();//此处调用了匿名函数 } closureFunc();//输出: 乔峰
Tipp 3 Anonym in einer normalen Funktion zurückgeben Funktion
<?php function closureFunc(){ $username = '乔峰'; $anonymousFunc = function() use($username){ echo $username; }; return $anonymousFunc;// 函数返回匿名函数 } $func = closureFunc(); $func(); //然后调用$func()
Tipp 4 Eine anonyme Funktion zurückgeben und Parameter an die anonyme Funktion übergeben
<?php function closureFunc(){ $username = '乔峰'; $anonymousFunc = function($lover,$skill) use($username){ echo $username.$lover.$skill; }; return $anonymousFunc; } $func = closureFunc(); $func("阿朱","擒龙手");//乔峰阿朱擒龙手
Tipp 5Verwenden Sie die Schließung, um den Variablenwert der Kontextreferenz zu ändern
<?php function closureFunc(){ $number = 100; $anonymousFunc = function() use($number) { $number++; echo $number.PHP_EOL; }; echo $number.PHP_EOL; return $anonymousFunc; } $func = closureFunc();// 这里输出1,直接调用本函数的 echo $number.PHP_EOL; 即为100 $func();// 调用函数的返回值 $anonymousFunc $number++ 即为101 $func(); //101 $func();//101
Aus den obigen Eingabeergebnissen geht hervor, dass die folgenden beiden func() beides sind Gibt 101 zurück, der Wert hat sich nicht geändert. Wenn Sie den ++-Effekt akkumulieren möchten, fügen Sie einfach ein &-Referenzsymbol hinzu (Änderungen innerhalb der anonymen Funktion wirken sich auch auf externe Variablen aus) und ändern Sie es:
<?php function closureFunc(){ $number = 100; $anonymousFunc = function() use(&$number) { $number++; echo $number.PHP_EOL; }; echo $number.PHP_EOL; return $anonymousFunc; } $func = closureFunc();// 这里输出1,直接调用本函数的 echo $number.PHP_EOL; 即为100 $func();// 调用函数的返回值 $anonymousFunc $number++ 即为101 $func(); //102 $func();//103
Tipp 6Anonyme Funktionen als Parameter übergeben
<?php //定义普通函数,anonymousFunc 为参数变量 function myFunc($anonymousFunc){ $anonymousFunc("乔峰"); } myFunc(function($username){ //这里调用普通函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc echo $username; });//输出 乔峰
Das obige ist der detaillierte Inhalt vonZusammenfassung der Techniken zur Verwendung anonymer Funktionen in PHP (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!