Heim  >  Artikel  >  Backend-Entwicklung  >  Wie funktionieren anonyme PHP-Funktionen?

Wie funktionieren anonyme PHP-Funktionen?

王林
王林Original
2024-04-11 09:18:021138Durchsuche

Die anonyme PHP-Funktion ist eine namenlose Funktion, die zur Laufzeit dynamisch erstellt wird. Sie werden als Sonderfälle innerer Klassen implementiert, können über das Schlüsselwort use auf externe Variablen zugreifen und können nicht rekursiv aufgerufen werden.

PHP 匿名函数的工作原理是什么?

Wie anonyme Funktionen in PHP funktionieren

Was sind anonyme Funktionen?

Anonyme PHP-Funktionen sind unbenannte Funktionen, die normalerweise als Argumente an andere Funktionen oder Methoden übergeben werden. Sie machen den Code sauberer und einfacher zu verwalten.

Syntax:

$callback = function (参数) {
    // 函数体
};

Wie funktioniert es?

Anonyme PHP-Funktionen werden dynamisch zur Laufzeit erstellt. Sie werden als Sonderfall innerer Klassen implementiert.

Wenn Sie eine anonyme Funktion aufrufen, erstellt die Ausführungs-Engine eine neue innere Klasse, die von der PHP-Klasse „Closure“ erbt. Diese neue Klasse hat die folgenden Eigenschaften:

  • $this bezieht sich auf den Bereich, in dem sich die anonyme Funktion befindet. $this 引用匿名函数所在的范围。
  • 调用时传递的参数。
  • 函数的闭包部分存储在 __invoke() 方法中。

实际案例:

让我们看看一个实际案例,其中我们使用匿名函数对数组中的元素应用 strtoupper() 函数:

$arr = ['apple', 'banana', 'cherry'];
$modifiedArr = array_map(function ($item) {
    return strtoupper($item);
}, $arr);

print_r($modifiedArr); // 输出 ['APPLE', 'BANANA', 'CHERRY']

在上面的示例中,我们创建了一个匿名函数,将每个元素转换为大写。然后我们将这个匿名函数作为 array_map() 函数的参数,该函数将其应用于数组中的每个元素。

注意事项:

  • 匿名函数可以访问外部作用域中的变量。
  • 它们可以使用 use
  • Beim Aufruf übergebene Parameter.
  • Der Abschlussteil der Funktion wird in der Methode __invoke() gespeichert.
🎜🎜🎜Eigentlicher Fall: 🎜🎜🎜Sehen wir uns einen realen Fall an, in dem wir die Funktion strtoupper() mithilfe der anonymen Funktion auf Elemente in einem Array anwenden: 🎜rrreee🎜Im obigen Beispiel haben wir eine anonyme Funktion erstellt Funktion, die jedes Element in Großbuchstaben umwandelt. Anschließend übergeben wir diese anonyme Funktion als Argument an die Funktion array_map(), die sie auf jedes Element im Array anwendet. 🎜🎜🎜Hinweis: 🎜🎜🎜🎜Anonyme Funktionen können auf Variablen im äußeren Bereich zugreifen. 🎜🎜Sie können externe Variablen erfassen und versehentliche Änderungen mithilfe des Schlüsselworts use verhindern. 🎜🎜Anonyme Funktionen können nicht rekursiv aufgerufen werden. 🎜🎜

Das obige ist der detaillierte Inhalt vonWie funktionieren anonyme PHP-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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