[PHP Learning] Sechs Tipps zur Verwendung anonymer Funktionen

little bottle
Freigeben: 2023-04-06 09:32:02
nach vorne
2450 Leute haben es durchsucht

In diesem Artikel geht es hauptsächlich um sechs Tipps zur Verwendung anonymer Funktionen. Interessierte Freunde können sie lernen.

Ich habe bereits einen Artikel über die Verwendung von Abschlüssen geschrieben (klicken Sie hier, um einzutreten). Dieses Mal werde ich eine ausführliche Zusammenfassung der ausführlichen Verwendung und des Verständnisses anonymer Funktionen in PHP geben:

Anonyme Funktionen in PHP werden auch als Schließungsfunktionen bezeichnet und ermöglichen die Angabe einer Funktion ohne Namen. 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 einer normalen Funktion, oder Sie können die anonyme Funktion zurückgeben . : Dies bildet einen einfachen Abschluss

<?php
function closureFunc(){
    $anonymousFunc = function(){
        echo "乔峰!";
    };
    $anonymousFunc();//普通函数内部调用了匿名函数
}
closureFunc();//输出: 乔峰
Nach dem Login kopieren

Tipp 2 Referenzieren Sie lokale Variablen in anonymen Funktionen (hier müssen Sie ein PHP-Schlüsselwort in Anführungszeichen setzen)

<?php

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

Tipp 3Eine anonyme Funktion in einer normalen Funktion zurückgeben

<?php

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

Tipp 4Eine 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 5 Verwenden Sie den Verschluss, um den vom Kontext referenzierten Variablenwert 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

Basierend auf den obigen Eingabeergebnissen wird festgestellt, dass die folgenden beiden func() beide 101 zurückgeben und der Wert sich nicht geändert hat 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 6 Übergeben Sie die anonyme Funktion als ein Parameter

<?php
//定义普通函数,anonymousFunc 为参数变量
function myFunc($anonymousFunc){
    $anonymousFunc("乔峰");
}

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

Verwandte Tutorials:PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt von[PHP Learning] Sechs Tipps zur Verwendung anonymer Funktionen. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage