suchen
HeimBackend-EntwicklungPHP-TutorialDetaillierte Erklärung des Unterschieds zwischen PHP die() und Exit()

Was ist der wirkliche Unterschied zwischen die() und exit() in PHP? Wir haben bei Baidu herausgefunden, dass die beendet wird und Speicher freigibt. Ist das wirklich der Fall? Referenz,

Suchen Sie online nach dem Unterschied zwischen Die- und Exit-Funktionen. Die meisten „Standardantworten“ besagen, dass Die beendet und Speicher freigibt, und Exit beendet, aber keinen Speicher freigibt.

Diese Erklärung ist offensichtlich falsch. Im PHP-Handbuch heißt es bereits: „Die – entspricht Exit().“ Ansonsten handelt es sich lediglich um Aliase völlig anders.

Ich war jedoch trotzdem neugierig und beschloss, im Quellcode nach Hinweisen zu suchen, um zu sehen, wie PHP mit diesem „Alias“ umgeht.

Zuallererst muss klar sein, dass „Die“ und „Exit“ beide „Sprachkonstrukte“ und keine Funktionen sind. Es gibt auch viele Leute im Internet, die sagen, dass „so und so“ einen Rückgabewert hat und ist Eine Funktion und so und so haben einen Rückgabewert und sind eine Struktur. Viele Anfänger kennen den Unterschied zwischen Sprachstruktur und Funktion nicht, in Laienbegriffen kann die Sprachstruktur als Symbol der Grammatik verstanden werden selbst. Dinge wie +, -, *, / sind ebenfalls Sprachstrukturen, if, else, for, while sind alles Sprachstrukturen. ist Teil der Grammatik selbst. Jede Sprache verfügt über diese Dinge, denn wenn der Computer + sieht, denkt er nicht, dass es hinzugefügt werden sollte. Dazu muss ein Compiler ihn in Maschinencode umwandeln, einen Befehlssatz, den die CPU erkennen kann.

Der gesamte Prozess, wenn PHP den Quellcode ausführt, besteht darin, zunächst Sprachstrukturen wie echo und if im Quellcode in Token wie T_ECHO und T_IF zu konvertieren, wie in zend_lingual_scanner.l definiert, und der Quellcode wird Entfernen Sie Leerzeichen und kommentieren Sie diese Zeichen aus, die nichts mit der Programmlogik zu tun haben. , werden einige kurze Ausdrücke gebildet, was die Phase der lexikalischen Analyse darstellt. Diese Token werden dann in Operationscodes umgewandelt, wie in zend_vm_opcodes.h definiert. Führen Sie diese Operationscodes dann nacheinander aus.

Das Obige erklärt grob den Kompilierungs- und Ausführungsprozess von PHP sowie die Definition der Sprachstruktur. Kommen wir zum Punkt.

Wir sollten auch bedenken, dass es in PHP viele Alias-Funktionen gibt, wie zum Beispiel „implode“ und „join“. Unabhängig davon, ob es sich um eine Alias-Funktion oder eine Alias-Sprachstruktur handelt, sind sie aus Sicht der tatsächlichen Wirkung gleich, aber die Methode zur Verarbeitung des Quellcodes ist definitiv unterschiedlich.

Sehen wir uns zunächst an, wie diese Alias-Sprachstruktur gehandhabt wird, und schauen wir uns später die Alias-Funktion an.

zend_lingual_parser.c definiert ein Makro

#define T_EXIT 300

und definiert auch eine Aufzählung, die auch

enum yytokentype {
…
T_EXIT = 300,
….
}
enthält

Hier erfahren wir, dass der T_EXIT-Token den Code 300 hat.

Schauen Sie sich zend_lingual_scanner.l an, das diese Codezeilen enthält.

<ST_IN_SCRIPTING>”exit” {
return T_EXIT;
}
<ST_IN_SCRIPTING>”die” {
return T_EXIT;
}

Wenn PHP eine lexikalische Analyse durchführt, gibt es natürlich das T_EXIT-Token zurück, unabhängig davon, ob es auf Exit oder Tod stößt. Von hier aus können wir beweisen, dass Die und Exit sowie die interne Verarbeitung von PHP genau gleich sind.

Sie können auch den folgenden PHP-Code verwenden, um Folgendes zu ermitteln:

<?php
var_dump(token_get_all(“<?php die;exit;?>”));

Die Token-Codes, die in der zurückgegebenen Datei sterben und beenden Die Ergebnisse sind beide: Es ist 300.

Was nun das Thema „Die“ und „Exit“ betrifft, denke ich, dass jeder bestätigen kann, dass die Namen einfach unterschiedlich sind, aber der Effekt derselbe ist. Es gibt kein sogenanntes Problem des Entladens oder Der Speicher wird nicht entladen.

PHP-Handbuch: die()Entspricht exit().

Erklärung: die() und exit() sind beide Funktionen zum Beenden der Skriptausführung. Tatsächlich verweisen die beiden Namen Exit und die auf dieselbe Funktion und die() ist ein Alias ​​von Funktion „exit()“. Diese Funktion akzeptiert nur einen Parameter, der ein von einem Programm zurückgegebener Wert oder eine Zeichenfolge sein kann, oder es können keine Parameter eingegeben werden und das Ergebnis ist kein Rückgabewert.

Referenz: Obwohl die beiden gleich sind, gibt es bei ihrer üblichen Verwendung subtile Selektivität. Beispiel:
Wenn der an die Funktionen „exit“ und „die“ übergebene Wert 0 ist, bedeutet dies, dass die Ausführung des Skripts vorzeitig beendet wird, normalerweise unter dem Namen „exit()“.

echo "1111";
exit(0);
echo "2222";
//22222不会被输出,因为程序运行到exit(0)时,脚本已经被提前终止,“马上断气”。

Wenn das Programm einen Fehler macht, können Sie ihm einen String übergeben, der so wie er ist auf dem Systemterminal ausgegeben wird, normalerweise unter dem Namen die() .

$fp=fopen("./readme.txt","r") or die("不能打开该文件");

Wenn in diesem Fall die fopen-Funktion aufgerufen wird und den booleschen Wert false zurückgibt, beendet die() das Skript sofort und gibt den übergebenen Wert aus es sofort String: „Du kannst ein oder zwei Worte sagen, bevor du stirbst.“

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

PHP+MySQL-Analyse der Methode zur Implementierung der Nachrichtenwarteschlange

Wie man die PHP-Variable in den Textbereich des Front-End-HTML einschließt und wie man die Newline-Änderung im PHPBackend

Detaillierte Erklärung der gespeicherten MySQL-Prozedur. Und PHP ruft die Instanz der gespeicherten MySQL-Prozedur auf

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen PHP die() und Exit(). 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
Welche Daten können in einer PHP -Sitzung gespeichert werden?Welche Daten können in einer PHP -Sitzung gespeichert werden?May 02, 2025 am 12:17 AM

PHPSSIONS CANSTORESTRINGEN, ZUGNALTEN, ARRAYS, ANDOBjekte.1.

Wie starten Sie eine PHP -Sitzung?Wie starten Sie eine PHP -Sitzung?May 02, 2025 am 12:16 AM

TostartaphpSession, useSession_start () atthescript'Sbeginning.1) PlaCEITBEFOREANYOUTPUTTOTHESESSIONSCOOKIE.2) useSsionsforuserDatalikeloginStatusOrShopingCarts

Was ist eine Sitzungsregeneration und wie verbessert es die Sicherheit?Was ist eine Sitzungsregeneration und wie verbessert es die Sicherheit?May 02, 2025 am 12:15 AM

Die Sitzung der Sitzung bezieht sich auf die Generierung einer neuen Sitzungs -ID und die Ungültigmachung der alten ID, wenn der Benutzer sensible Vorgänge bei festgelegten Sitzungsangriffen ausführt. Die Implementierungsschritte umfassen: 1. Erkennen sensibler Vorgänge, 2. Erstellen neuer Sitzungs-ID, 3..

Was sind einige Leistungsüberlegungen bei der Verwendung von PHP -Sitzungen?Was sind einige Leistungsüberlegungen bei der Verwendung von PHP -Sitzungen?May 02, 2025 am 12:11 AM

PHP -Sitzungen haben erhebliche Auswirkungen auf die Anwendungsleistung. Zu den Optimierungsmethoden gehören: 1. Verwenden Sie eine Datenbank, um Sitzungsdaten zu speichern, um die Antwortgeschwindigkeit zu verbessern; 2. Reduzieren Sie die Verwendung von Sitzungsdaten und speichern Sie nur die erforderlichen Informationen. 3.. Verwenden Sie einen nicht blockierenden Sitzungsprozessor, um die Parallelitätsfunktionen zu verbessern. 4. Passen Sie die Ablaufzeit der Sitzung an, um Benutzererfahrung und Serverbelastung auszugleichen. 5. Verwenden Sie persistente Sitzungen, um die Anzahl der Les- und Schreibzeiten zu verringern.

Wie unterscheiden sich PHP -Sitzungen von Cookies?Wie unterscheiden sich PHP -Sitzungen von Cookies?May 02, 2025 am 12:03 AM

PhpSessionsaresServer-Side, whilecookiesareclient-Side.1) SESSIsions Storedataontheserver, Aremoresecure und Handlelargerdata.2) CookieStoredataoneTheClient, AslosenSecure und LimitedInsiesindaSsibilitäts- und -Stasibilitäts- und -Stasibilitäts- und -Anssibilitäts- und -Anssibilitätsporsedataandcookiesefornonsesibel, adailliertes, adailliertes, adailliertes, adailliertes, adailliertes, addiertes-addiertes- und -Staillieren- und -Anssistieren, und -Anssibilitätsporsedaten- und -Sta- und addierta und -Anssibilitäts- und addiertes- und addailliert.

Wie identifiziert PHP die Sitzung eines Benutzers?Wie identifiziert PHP die Sitzung eines Benutzers?May 01, 2025 am 12:23 AM

PhpidentifiesAsersSSessionUsingSSessionCookiesAndSessionIDs.1) WHANE Session_Start () iscalled, phpGeneratesAuniqueSessionIDStoredInacookienMamePhpSsidontonTheusers.2) thisidallowStoretrieVessionDataFromtheServer.

Was sind einige Best Practices für die Sicherung von PHP -Sitzungen?Was sind einige Best Practices für die Sicherung von PHP -Sitzungen?May 01, 2025 am 12:22 AM

Die Sicherheit von PHP -Sitzungen kann durch folgende Maßnahmen erreicht werden: 1. Verwenden Sie Session_regenerate_id (), um die Sitzungs -ID zu regenerieren, wenn sich der Benutzer anmeldet oder eine wichtige Operation ist. 2. Verschlüsseln Sie die Übertragungssitz -ID durch das HTTPS -Protokoll. A. Verwenden Sie Session_save_path (), um das sichere Verzeichnis anzugeben, um Sitzungsdaten zu speichern und Berechtigungen korrekt festzulegen.

Wo werden standardmäßig PHP -Sitzungsdateien gespeichert?Wo werden standardmäßig PHP -Sitzungsdateien gespeichert?May 01, 2025 am 12:15 AM

PhpSessionFilesArestoredinTHedRectorySpecifiedBySession.save_path, typischerweise/tmponunix-likesystemsorc: \ windows \ temponwindows

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Sicherer Prüfungsbrowser

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.

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.