Dieser Artikel wird Ihnen helfen, PHP-Konstanten zu verstehen, die beiden Definitionsmethoden von PHP-Konstanten zu vergleichen und über ihre Unterschiede zu sprechen. Ich hoffe, dass er für alle hilfreich ist!
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.
Mit der Funktion define() können Sie Konstanten 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 den Konstanten
2 Konstanten können nur über die Funktion define() definiert werden, nicht durch Zuweisung Anweisungen
3. Sie können die Konstanten ignorieren. Der Gültigkeitsbereich von Variablen kann überall definiert und abgerufen werden.
4 Sobald eine Konstante definiert ist, kann sie nicht neu definiert oder aufgehoben werden. 5. Der Wert einer Konstante 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()); ?>
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 für die Definition 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,
3 Const kann keine Konstanten in bedingten Anweisungen definieren
<?php if (...){ const FOO = 'BAR'; // 无效的invalid } if (...) { define('FOO', 'BAR'); // 有效的valid } ?>
4. Const kann Ausdrücke als Namen verwenden.
<?php const FOO = 'BAR'; for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); } ?>
5 Akzeptieren Sie statische Skalare, während define jeden Ausdruck verwenden kann
<?php const BIT_5 = 1 << 5; // 无效的invalid define('BIT_5', 1 << 5); // 有效的valid ?>
6 Bei den durch const definierten Konstanten wird die Groß-/Kleinschreibung beachtet, während define über den dritten Parameter angeben kann, ob die Groß-/Kleinschreibung beachtet werden soll (true bedeutet, dass die Groß-/Kleinschreibung nicht berücksichtigt wird).
<?php define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR ?>
Empfohlenes Lernen: „
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen zwei Möglichkeiten, PHP-Konstanten zu definieren: define und const?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!