Heim > Artikel > Backend-Entwicklung > Detaillierte Erklärung des Unterschieds zwischen den PHP-Konstanten define und const
In unserem vorherigen Artikel haben wir Ihnen Beispiele für die Verwendung von „Definieren“ in PHP vorgestellt. Ich glaube, Sie haben ein gewisses Verständnis für „Definieren“. Heute werden wir Ihnen eine detaillierte Erklärung des Unterschieds zwischen PHP-Konstanten vorstellen und const.
Eine Konstante ist ein einfacher Bezeichner. Dieser Wert kann während der Skriptausführung nicht geändert werden (außer bei sogenannten magischen Konstanten, die keine Konstanten sind). Bei Konstanten wird standardmäßig die Groß-/Kleinschreibung beachtet. Normalerweise werden Konstantenbezeichner immer in Großbuchstaben geschrieben.
Sie können die Funktion define() verwenden, um Konstanten zu definieren. Nach PHP5.3.0 können Sie das Schlüsselwort const verwenden, um Konstanten außerhalb der Klassendefinition zu definieren. In früheren Versionen kann das Schlüsselwort const nur in Klassen verwendet werden. Sobald eine Konstante definiert ist, kann sie weder geändert noch undefiniert werden.
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.
Sie können den Wert einer Konstante einfach durch Angabe ihres Namens ermitteln. Im Gegensatz zu Variablen sollten Sie das $-Zeichen nicht vor eine Konstante setzen. Wenn der Konstantenname dynamisch ist, können Sie auch die Funktion konstant() verwenden, um den Wert der Konstante abzurufen. Verwenden Sie get_defined_contstants(), um eine Liste aller definierten Konstanten abzurufen.
Die Unterschiede zwischen Konstanten und Variablen sind wie folgt:
1 Es gibt kein Dollarzeichen ($). vor der Konstante
2 Konstanten können nur über die Funktion define() definiert werden, nicht Zuweisungsanweisungen
3 Ignorieren Sie die Rolle von -Variablen. Domäne ist überall definiert und zugänglich
4 Sobald eine Konstante definiert ist, kann sie nicht neu definiert oder aufgehoben werden
5. Konstante Der Wert kann nur ein Skalar sein
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const USERNAME = 'zhouguowei'; echo USERNAME; echo constant("USERNAME"); const ZHOUUSERNAME = 'zhouguowei2222222222'; define('MYUSERNAME','zhouguowei1111111'); echo "<pre class="brush:php;toolbar:false">"; print_r(get_defined_constants()); ?>
F: Was ist der Unterschied zwischen const und define, wenn ich Konstanten in PHP definiere?
Antwort: Die Verwendung von const macht den Code einfach und leicht lesbar. const selbst ist eine Sprachstruktur und define ist eine Funktion. Darüber hinaus ist const beim Kompilieren viel schneller als define.
1. const wird zum Definieren von Klassenmitgliedsvariablen verwendet. Einmal definiert, kann es nicht geändert werden. Define kann nicht zum Definieren von Klassenmitgliedsvariablen verwendet werden, kann jedoch für globale Konstanten verwendet werden.
2. Const kann in Klassen verwendet werden, define kann nicht
3. Const kann keine Konstanten in bedingten Anweisungen definieren
<?php if (...){ const FOO = 'BAR'; // 无效的invalid } if (...) { define('FOO', 'BAR'); // 有效的valid } ?>
4. const verwendet gewöhnliche Konstantennamen, define kann Ausdrücke als Namen verwenden
<?php const FOO = 'BAR'; for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); } ?>
5. const kann nur statische Skalare akzeptieren und define kann nimm einen beliebigen Ausdruck
<?php const BIT_5 = 1 << 5; // 无效的invalid define('BIT_5', 1 << 5); // 有效的valid ?>
6、const定义的常量时大小写敏感,而define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。
<?php define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR ?>
总结:
本文通过实例为大家更为直观的了解php常量define与const的区别详解,希望对你的工作有所帮助!
相关推荐:
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen den PHP-Konstanten define und const. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!