Zusammenfassung der Techniken zur Verwendung anonymer Funktionen in PHP (mit Code)

不言
Freigeben: 2023-04-04 12:24:01
nach vorne
2691 Leute haben es durchsucht

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("乔峰!");
Nach dem Login kopieren

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();//输出: 乔峰
Nach dem Login kopieren

Tipp 2 in Lokale Variablen in anonymen Funktionen referenzieren (siehe hier die Verwendung eines PHP-Schlüsselworts)

<?php
function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function() use($username){
        echo $username;
    };
    $anonymousFunc();//此处调用了匿名函数
}
closureFunc();//输出: 乔峰
Nach dem Login kopieren

Tipp 3 Anonym in einer normalen Funktion zurückgeben Funktion

<?php
function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function() use($username){
        echo $username;
    };
    return $anonymousFunc;// 函数返回匿名函数
}
$func = closureFunc();
$func(); //然后调用$func()
Nach dem Login kopieren

Tipp 4 Eine anonyme Funktion zurückgeben und Parameter an die anonyme Funktion übergeben

<?php
function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function($lover,$skill) use($username){
        echo $username.$lover.$skill;
    };
    return $anonymousFunc;
}
$func = closureFunc();
$func("阿朱","擒龙手");//乔峰阿朱擒龙手
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Tipp 6Anonyme Funktionen als Parameter übergeben

<?php
//定义普通函数,anonymousFunc 为参数变量
function myFunc($anonymousFunc){
    $anonymousFunc("乔峰");
}
myFunc(function($username){ //这里调用普通函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc
    echo $username;
});//输出 乔峰
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage