Der Unterschied und die Verwendungsbeispiele der PHP-Konstanten const und define

伊谢尔伦
Freigeben: 2023-03-07 21:44:01
Original
1276 Leute haben es durchsucht

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 宏名称 宏值
Nach dem Login kopieren

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 数据类型 常量名 = 常量值;
Nach dem Login kopieren

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 = &#39;BAR&#39;;    // 无效的invalid
}
if (...) {
define(&#39;FOO&#39;, &#39;BAR&#39;); // 有效的valid
}
?>
Nach dem Login kopieren
5. Es können nur statische Skalare akzeptiert werden, während define jeden beliebigen Ausdruck verwenden kann. Der Code lautet wie folgt:

<?php
const  FOO = &#39;BAR&#39;;
for ($i = 0; $i < 32; ++$i) {
define(&#39;BIT_&#39; . $i, 1 << $i);
}
?>
Nach dem Login kopieren
6. Bei den durch const definierten Konstanten wird die Groß-/Kleinschreibung beachtet, während define den dritten Parameter (ist wahr, der die Groß-/Kleinschreibung nicht berücksichtigt) übergeben kann, um anzugeben, ob die Groß-/Kleinschreibung beachtet wird. Der Code lautet wie folgt:

<?php
const BIT_5 = 1 << 5;    // 无效的invalid
define(&#39;BIT_5&#39;, 1 << 5); // 有效的valid
?>
Nach dem Login kopieren

<?php
define(&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; // BAR
echo foo; // BAR
?>
Nach dem Login kopieren
[Verwandte Artikelempfehlungen]:


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!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!