


Abschluss ist ein gängiges Konzept. Wir können es normalerweise mit der Rückruffunktion verwenden, um den Code prägnanter und lesbarer zu machen. In diesem Artikel wird hauptsächlich der Unterschied zwischen PHP Closure zum Abrufen externer Variablen und dem globalen Schlüsselwort zum Deklarieren von Variablen vorgestellt. Werfen wir einen Blick auf diesen Artikel über PHP Closure zum Abrufen externer Variablen !
Als ich kürzlich Workerman lernte, kam ich aufgrund der unterschiedlichen Verwendungsmöglichkeiten von Workern häufiger mit Callback-Funktionen in Kontakt Eine Zusammenfassung ermittelt den Unterschied zwischen externen Variablen und mit dem globalen Schlüsselwort deklarierten Variablen.
Schließung
Schließung ist ein gängiges Konzept. Wir können es normalerweise mit Rückruffunktionen verwenden, um den Code prägnanter und einfacher zu lesen.
Abschlüsse ermöglichen es Funktionen, Variablen im übergeordneten Bereich durch Kopieren zu verwenden. Beispiel:
$global = 'hello'; $bbb = function()use($global){ echo $global."\n"; }; $bbb(); //输出 'hello'
globales Schlüsselwort deklariert Variablen
Das Deklarieren von Variablen über global kann auch dazu führen, dass der Funktionskörper Variablen außerhalb der Funktion aufruft, aber global unterscheidet sich von der Verwendung. Das Schlüsselwort global erstellt eine Referenz mit demselben Namen wie die externe Variable und verweist auf diese Die vorgenommenen Änderungen wirken sich auch auf externe Variablen aus.
$global = 'hello'; $fun = function(){ global $global; $global =' world'; echo $global."\n"; }; $fun(); // 输出 'world'
Dadurch wird lediglich eine Referenz mit demselben Namen erstellt und der Gültigkeitsbereich der ursprünglichen externen Variablen $global nicht geändert. Das heißt, es wird gesagt, dass der Aufruf dieser Funktion von einer anderen Funktion immer noch die Deklaration oder Verwendung eines Abschlusses
$global = 'hello'; $fun = function(){ global $global; $global =' world'; echo 'a:'.$global."\n"; }; $ccc = function(){ echo 'b:'.$global; }; $fun() $ccc() /*
Ausgabe
erforderta: world Notice: Undefined variable: global in xxxxxxx on line xx */
Ändern Sie den Code leicht, damit Sie den Unterschied zwischen der Schließung und der globalen Schlüsselwortdeklaration von Variablen, von denen es zwei gibt, leichter vergleichen können Möglichkeiten, auf externe Variablen zuzugreifen.
<?php $global = 'hello'; $fun = function(){ global $global; $global ='world'; echo 'a:'.$global."\n"; }; $bbb = function()use($global){ $global = 'china'; echo 'c:'.$global."\n"; }; $fun(); echo 'b:'.$global."\n"; $bbb(); echo 'd:'.$global;
Aus den beiden Ausgängen b und d hier ist ersichtlich, dass global den Wert der externen Variablen ändert, und die Verschlussmethode Nicht wirklich.
Ausgabe:
a: world b: world c:china d: world
Abschließend werde ich eine klassischere Verwendung von Anonymität veröffentlichen offizielle Dokumente Beispiele für Funktionen , Schließungen und Callback-Funktionen:
class Cart { const PRICE_BUTTER = 1.00; const PRICE_MILK = 3.00; const PRICE_EGGS = 6.95; protected $products = array(); public function add($product, $quantity) { $this->products[$product] = $quantity; } public function getQuantity($product) { return isset($this->products[$product]) ? $this->products[$product] : FALSE; } public function getTotal($tax) { $total = 0.00; $callback = function ($quantity, $product) use ($tax, &$total) { $pricePerItem = constant(CLASS . "::PRICE_" . strtoupper($product)); $total += ($pricePerItem * $quantity) * ($tax + 1.0); }; array_walk($this->products, $callback); return round($total, 2); } } $my_cart = new Cart; $my_cart->add('butter', 1); $my_cart->add('milk', 3); $my_cart->add('eggs', 6); print $my_cart->getTotal(0.05) . "\n";
Zusammenfassung
Das Obige ist die Einführung des Herausgebers in den Unterschied zwischen PHP-Verschlüssen zum Abrufen externer Variablen und dem globalen Schlüsselwort zum Deklarieren von Variablen. Wenn Sie Fragen haben, helfen wir Ihnen gerne weiter Sie können im Community-Q&A auf dieser Website Fragen stellen!
Verwandte Empfehlungen:
Anleitungen zur praktischen Anwendung von PHP-Abschlussfunktionen
Was sind PHP-Verschlüsse? Ausführliche Erläuterung der Beispiele für die Verwendung von Schließungen
Das obige ist der detaillierte Inhalt vonErläuterung des Unterschieds zwischen dem PHP-Abschluss, der externe Variablen erhält, und der globalen Schlüsselwortdeklaration. Variables_php-Beispiel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

TomodifyDatainaphpSession, startTheSessionwithSession_Start (), dann $ _SessionToSet, modify, orremovevariables.1) startTheSession.2) setOrmodifySessionvariabling $ _Session.3) removeVariables mit ()

Arrays können in PHP -Sitzungen gespeichert werden. 1. Starten Sie die Sitzung und verwenden Sie Session_Start (). 2. Erstellen Sie ein Array und speichern Sie es in $ _Session. 3. Abrufen Sie das Array durch $ _Session ab. 4. Optimieren Sie Sitzungsdaten, um die Leistung zu verbessern.

Die PHP -Sitzungsmüllsammlung wird durch einen Wahrscheinlichkeitsmechanismus ausgelöst, um abgelaufene Sitzungsdaten zu beseitigen. 1) Legen Sie die Auslöserwahrscheinlichkeit und die Sitzungslebenszyklus in der Konfigurationsdatei ein. 2) Sie können Cron-Aufgaben verwenden, um Hochlastanwendungen zu optimieren. 3) Sie müssen die Häufigkeit und Leistung von Müllsammlungen ausgleichen, um Datenverlust zu vermeiden.

Die Verfolgung von Benutzersitzungsaktivitäten in PHP wird durch Sitzungsverwaltung implementiert. 1) Verwenden Sie Session_start (), um die Sitzung zu starten. 2) Speichern Sie Daten über das $ _Session -Array. 3) Call Session_Destroy (), um die Sitzung zu beenden. Die Sitzungsverfolgung wird für die Analyse der Benutzerverhalten, die Sicherheitsüberwachung und die Leistungsoptimierung verwendet.

Die Verwendung von Datenbanken zum Speichern von PHP -Sitzungsdaten kann die Leistung und Skalierbarkeit verbessern. 1) Konfigurieren Sie MySQL, um Sitzungsdaten zu speichern: Richten Sie den Sitzungsprozessor in Php.ini oder PHP -Code ein. 2) Benutzerdefinierte Sitzungsprozessor implementieren: Definieren Sie Öffnung, Schließen, Lesen, Schreiben und andere Funktionen, um mit der Datenbank zu interagieren. 3) Optimierung und Best Practices: Verwenden Sie Indexierung, Zwischenspeicherung, Datenkomprimierung und verteilter Speicher, um die Leistung zu verbessern.

PhpSessionStrackUserDataacrossMultiplePageRequestsusesuseiquiTIdStoredInacookie.her'ShowtomagetheFectiv: 1) StartaSessionswithSession_start () und storateatain $ _Session.2) regeneratethessionSessionInoginWithSession_IDENT_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTEL

In PHP können durch Sitzungsdaten in den folgenden Schritten iteriert werden: 1. Starten Sie die Sitzung mit Session_Start (). 2. Iterieren Sie durch die Foreach-Schleife durch alle Schlüsselwertpaare im $ _Session-Array. 3. Wenn Sie komplexe Datenstrukturen verarbeiten, verwenden Sie is_array () oder is_object () Funktionen und verwenden Sie print_r (), um detaillierte Informationen auszugeben. 4. Bei der Optimierung von Traversal kann Paging verwendet werden, um eine gleichzeitige Verarbeitung großer Datenmengen zu vermeiden. Auf diese Weise können Sie PHP -Sitzungsdaten in Ihrem tatsächlichen Projekt effizienter verwalten und verwenden.

Die Sitzung realisiert die Benutzerauthentifizierung über den serverseitigen Statusverwaltungsmechanismus. 1) Erstellung der Sitzung und Erzeugung eindeutiger IDs, 2) IDs werden durch Cookies weitergeleitet, 3) Server speichert und greift auf Sitzungsdaten über IDs, 4) Benutzerauthentifizierung und Statusverwaltung zugeordnet und verbessert die Sicherheit und die Benutzererfahrung von Anwendungen.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
