Die sogenannte Konstante ist ein einfacher Bezeichner. Dieser Wert kann während der Skriptausführung nicht geändert werden. Bei Konstanten wird standardmäßig die Groß-/Kleinschreibung beachtet. Normalerweise werden Konstantenbezeichner immer in Großbuchstaben geschrieben. Konstanten können nur Skalardaten enthalten (boolesche Werte, Ganzzahlen, Gleitkommazahlen und Zeichenfolgen). Ressourcenkonstanten können definiert werden, sollten jedoch vermieden werden, da sie zu unvorhersehbaren Ergebnissen führen können.
Abschnitt definieren
Makros können nicht nur zum Ersetzen konstanter Werte, sondern auch zum Ersetzen von Ausdrücken und sogar Codesegmenten verwendet werden. (Makros sind sehr mächtig, aber auch fehleranfällig, daher sind ihre Vor- und Nachteile ziemlich umstritten.)
Die Syntax von Makros ist:
#define 宏名称 宏值
Als Vorschlag und a Allgemeine Vorgehensweise: Es ist eine gängige Praxis unter Makroentwicklern, Makronamen oft in Großbuchstaben zu schreiben.
Vorteile der Verwendung von Makros:
1) Machen Sie den Code prägnanter und klarer
Dies hängt natürlich davon ab, dass Sie dem Makro einen passenden Namen geben. Im Allgemeinen sollten Makronamen eine klare und intuitive Bedeutung haben, und manchmal ist es besser, sie zu verlängern.
2) Bequeme Codepflege
Die Verarbeitung von Makros wird während des Kompilierungsprozesses als „Vorverarbeitung“ bezeichnet. Das heißt, vor der formalen Kompilierung muss der Compiler zunächst die im Code angezeigten Makros durch die entsprechenden Makrowerte ersetzen. Dieser Vorgang ähnelt dem Suchen und Ersetzen, das Sie und ich in Textverarbeitungsprogrammen verwenden. Wenn daher Makros zum Ausdrücken von Konstanten im Code verwendet werden, werden letztendlich unmittelbare Zahlen verwendet, und der Typ dieser Größe ist nicht klar angegeben.
const-Teil
Das Format der Konstantendefinition ist:
const 数据类型 常量名 = 常量值;
Die durch const definierte Konstante hat einen Datentyp und definiert die Konstante als Datentyp ist praktisch für den Compiler. Die Dateninspektion ermöglicht die Fehlerbehebung möglicher Fehler im Programm. Eine Konstante muss zunächst einen Wert angeben, und im nachfolgenden Code dürfen wir den Wert dieser Konstante dann nicht ändern.
Der Unterschied zwischen const und define:
In der Zuweisung von Speicherplatz. Wenn define ein Makro definiert, wird es während der Kompilierung nicht in der Hauptfunktion ersetzt. Es handelt sich lediglich um eine einfache Ersetzung ohne Prüfungen wie Typ, Anweisungsstruktur usw. Das heißt, die Makrodefinitionskonstante ist nur eine reine Platzierungsbeziehung, z. B. #define null 0; der Compiler ersetzt null immer durch 0. Es gibt keinen Datentyp (wenn Sie Fragen haben, schauen Sie sich bitte den Vorverarbeitungsteil des C-Sprachbuchs an oder schauen Sie sich MSDN an. Die durch const definierten Konstanten haben Datentypen. Das Definieren von Konstanten von Datentypen erleichtert dem Compiler die Überprüfung von Daten und die Fehlerbehebung bei möglichen Fehlern im Programm Unsicherheit zwischen Programmen.
Die Verwendung von „const“ macht den Code selbst zu einer Sprachstruktur, und „const“ ist beim Kompilieren viel schneller als „define“. 🎜>1. Const wird für die Definition von Klassenmitgliedsvariablen verwendet. Define kann nicht für die Definition von Klassenmitgliedsvariablen verwendet werden.
2 Wird in Klassen verwendet, kann define nicht in bedingten Anweisungen verwendet werden. Der Code lautet wie folgt:
4 , define kann Ausdrücke als Namen verwenden, der Code lautet wie folgt:<?php if (...){ const FOO = 'BAR'; // 无效的invalid } if (...) { define('FOO', 'BAR'); // 有效的valid } ?>
<?php const FOO = 'BAR'; for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); } ?>
<?php const BIT_5 = 1 << 5; // 无效的invalid define('BIT_5', 1 << 5); // 有效的valid ?>
<?php define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR ?>
1. Der Unterschied und die Verwendungsbeispiele von definierten und definierten Funktionen in PHP
Das obige ist der detaillierte Inhalt vonDer Unterschied und die Verwendungsbeispiele der PHP-Konstanten const und define. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!