Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Nutzungsunterschiede zwischen den PHP-Konstanten define 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.
Konstanten und Variablen unterscheiden sich wie folgt:
1, Vor der Konstante steht kein Dollarzeichen ($)
2 Konstante kann nur über die Funktion define() definiert werden, nicht über die Zuweisungsanweisung
3. Konstanten können überall definiert und abgerufen werden, unabhängig vom Umfang der Variablen
4.Einmal definiert, kann eine Konstante nicht neu definiert oder aufgehoben werden
5Der Wert einer Konstante kann nur a sein Skalar
<?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, define jedoch nicht 3、Const不能再条件语句中定义常量 4、const采用普通的常量名称,define可以采用表达式作为名称 5、const只能接受静态的标量,而define可以采用任何表达式 6、const定义的常量时大小写敏感,而define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。<?php
if (...){
const FOO = 'BAR'; // 无效的invalid
}
if (...) {
define('FOO', 'BAR'); // 有效的valid
}
?>
<?php
const FOO = 'BAR';
for ($i = 0; $i < 32; ++$i) {
define('BIT_' . $i, 1 << $i);
}
?>
<?php
const BIT_5 = 1 << 5; // 无效的invalid
define('BIT_5', 1 << 5); // 有效的valid
?>
<?php
define('FOO', 'BAR', true);
echo FOO; // BAR
echo foo; // BAR
?>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Nutzungsunterschiede zwischen den PHP-Konstanten define und const. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!