Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen define und const in PHP?
Unterschiede: 1. const wird für die Definition von Klassenmitgliedsvariablen verwendet, während define nicht für die Definition von Klassenmitgliedsvariablen verwendet werden kann. 2. const akzeptiert nur statische Skalare, während define jeden Ausdruck verwenden kann . const Beim Definieren von Konstanten wird die Groß-/Kleinschreibung beachtet, aber define kann über den dritten Parameter angeben, ob die Groß-/Kleinschreibung beachtet werden soll.
Konstanten unterscheiden standardmäßig zwischen Groß- und Kleinschreibung, und Bezeichner von Konstanten werden normalerweise 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 darf nur in der Klasse ( class) verwendet werden.
Konstante kann nur Skalardaten enthalten (Boolescher Wert, Ganzzahl, Gleitkommazahl, Zeichenfolge). Ressourcenkonstanten können definiert werden, sollten jedoch vermieden werden.
Konstanten definieren
define("PI", 3.14); echo PI; // 3.14 echo pi; // 输出 "pi" 并发出一个Warning信息 // 以下代码在 PHP 5.3.0 后可以正常工作 const RATE = 'Hello World'; echo RATE;
Beim Definieren von Konstanten in PHP beträgt der Unterschied zwischen const und define
1 Eine Sprachstruktur, während define eine Funktion ist.
2. Const ist beim Kompilieren viel schneller als define
3 Const wird für die Definition von Klassenmitgliedsvariablen verwendet, aber define kann nicht für die Definition von Klassenmitgliedsvariablen verwendet werden
4. const kann nicht in bedingten Anweisungen verwendet werden
if (...){ const FOO = 'BAR'; // 无效的 } if (...) { define('FOO', 'BAR'); // 有效的 }
5. const akzeptiert nur statische Skalare, während define jeden Ausdruck verwenden kann
const BIT_5 = 1 << 5; // 无效的 define('BIT_5', 1 << 5); // 有效的
6. const unterscheidet bei der Definition von Konstanten die Groß-/Kleinschreibung , aber define kann angeben, ob die Groß-/Kleinschreibung durch den dritten Parameter erreicht wird (true gibt an, dass die Groß-/Kleinschreibung nicht beachtet wird). Da der Konstantenname dynamisch ist, können Sie auch die Funktion „constant()“ verwenden, um den Wert der Konstante abzurufen. Verwenden Sie get_defined_contstants(), um eine Liste aller definierten Konstanten abzurufen.
define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
definiert – Überprüfen Sie, ob eine Konstante mit einem bestimmten Namen existiert
define('PI',3.14); $chang = 'PI'; echo $chang,'<br/>'; // PI echo constant($chang); // 3.14
Verwandte Tutorial-Empfehlung: „
PHP-Tutorial"
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen define und const in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!