Heim > Artikel > Backend-Entwicklung > Detaillierte Erklärung der PHP-Konstanten: der Unterschied zwischen define und const
Der Inhalt dieses Artikels besteht darin, Ihnen eine detaillierte Erklärung der PHP-Konstanten mitzuteilen: Der Unterschied zwischen define und const, der einen bestimmten Referenzwert hat, kann darauf verwiesen werden
Eine Konstante ist ein einfaches Identifikationssymbol. 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.
Konstante kann nur skalare Daten enthalten (Boolescher Wert, Ganzzahl, Gleitkommazahl und Zeichenfolge). 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 jedoch über Zuweisungsanweisungen
3, Konstanten können überall definiert und aufgerufen werden, unabhängig vom Gültigkeitsbereich der Variablen
4 Einmal ist eine Konstante definiert, es kann nicht neu definiert oder undefiniert werden
5 Der Wert der -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()); ?>
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 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, definiert nicht
3 Konstanten können nicht in bedingten Anweisungen definiert werden
<?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, während define jeden Ausdruck annehmen kann
<?php constBIT_5 = 1 << 5; //无效的invalid define('BIT_5', 1 << 5); //有效的valid ?>6 Die definierten Konstanten sind Groß-/Kleinschreibung wird beachtet, und define kann über den dritten Parameter angeben, ob die Groß-/Kleinschreibung beachtet wird (true bedeutet, dass die Groß-/Kleinschreibung nicht berücksichtigt wird).
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der PHP-Konstanten: der Unterschied zwischen define und const. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!