Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Techniken zur Verwendung anonymer Funktionen in PHP (mit Code)

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

不言
不言nach vorne
2018-11-17 16:53:452679Durchsuche

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 = &#39;乔峰&#39;;
    $anonymousFunc = function() use($username){
        echo $username;
    };
    $anonymousFunc();//此处调用了匿名函数
}
closureFunc();//输出: 乔峰

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()

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("阿朱","擒龙手");//乔峰阿朱擒龙手

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:was bedeutet BugNächster Artikel:was bedeutet Bug