Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich globale Variablen innerhalb anonymer Funktionen in PHP ändern?

Wie kann ich globale Variablen innerhalb anonymer Funktionen in PHP ändern?

Barbara Streisand
Freigeben: 2024-11-13 05:30:02
Original
991 Leute haben es durchsucht

How Can I Modify Global Variables from Within Anonymous Functions in PHP?

Zugriff auf globale Variablen innerhalb anonymer Funktionen

In PHP haben anonyme Funktionen von Natur aus keinen Zugriff auf globale Variablen. Dies kann zu Herausforderungen führen, wenn Sie versuchen, externe Variablen innerhalb dieser anonymen Funktionen zu manipulieren.

Beispiel:

Bedenken Sie den folgenden Code:

$variable = "nothing";

functionName($someArgument, function() {
  $variable = "something";
});
Nach dem Login kopieren

Beim Ausführen dieses Codes bleibt die $-Variable „nichts“, da die anonyme Funktion nicht auf den globalen Bereich zugreifen kann.

Lösung: Schließungen

Um dieses Problem zu beheben, führt PHP Folgendes ein: das Konzept der Schließungen. Abschlüsse ermöglichen die Manipulation von Variablen aus einem umschließenden Bereich innerhalb einer anonymen Funktion. Um einen Abschluss zu erstellen, fügen Sie das Schlüsselwort „use“ zur Deklaration der anonymen Funktion hinzu:

functionName($someArgument, function() use(&$variable) {
  $variable = "something";
});
Nach dem Login kopieren

In diesem Fall wird das Schlüsselwort „use“ von einem kaufmännischen Und (&) begleitet, das angibt, dass die Variable „$variable“ übergeben wird Referenz. Dadurch kann die anonyme Funktion die globale $-Variable ändern.

Hinweis: Es ist wichtig, das kaufmännische Und (&) zu verwenden, wenn innerhalb eines Abschlusses auf Variablen verwiesen wird, um sicherzustellen, dass die globale Variable geändert wird , und die Änderungen werden außerhalb der anonymen Funktion widergespiegelt.

Das obige ist der detaillierte Inhalt vonWie kann ich globale Variablen innerhalb anonymer Funktionen in PHP ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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