Heim >Backend-Entwicklung >PHP-Problem >Was sind die Unterschiede zwischen const define in PHP?

Was sind die Unterschiede zwischen const define in PHP?

藏色散人
藏色散人Original
2020-07-27 09:48:542498Durchsuche

Die Unterschiede zwischen const define in PHP sind: 1. const wird zum Definieren von Klassenmitgliedsvariablen verwendet, Define kann jedoch nicht zum Definieren von Klassenmitgliedsvariablen verwendet werden. 2. Const kann in Klassen verwendet werden, define jedoch nicht. 3. Const kann keine Konstanten in bedingten Anweisungen definieren. 4. const verwendet gewöhnliche Konstantennamen.

Was sind die Unterschiede zwischen const define in PHP?

Empfohlen: „PHP-Tutorial

Detaillierte Erklärung der PHP-Konstanten: der Unterschied zwischen 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.

Konstante kann 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 Vor den Konstanten steht kein Dollarzeichen ($)

2 . Konstanten können nur eine Funktionsdefinition übergeben, jedoch nicht über Zuweisungsanweisungen

3 Konstanten können unabhängig vom Gültigkeitsbereich der Variablen definiert und abgerufen werden

4 definiert, es kann nicht neu definiert oder undefiniert werden

5. Der Wert einer Konstante kann nur ein Skalar sein

<?php
// 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;zhouguowei&#39;;
echo USERNAME;
echo constant("USERNAME");
 
const ZHOUUSERNAME = &#39;zhouguowei2222222222&#39;;
 
define(&#39;MYUSERNAME&#39;,&#39;zhouguowei1111111&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r(get_defined_constants());  
?>

F: Beim Definieren von Konstanten Was ist in PHP der Unterschied zwischen const und define?

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 = &#39;BAR&#39;;    // 无效的invalid
}
if (...) {
define(&#39;FOO&#39;, &#39;BAR&#39;); // 有效的valid
}
?>

4 Für gewöhnliche Konstantennamen kann define Ausdrücke als Namen verwenden

<?php
const  FOO = &#39;BAR&#39;;
for ($i = 0; $i < 32; ++$i) {
define(&#39;BIT_&#39; . $i, 1 << $i);
}
?>

5. const kann nur statische Skalare akzeptieren, während define jeden Ausdruck

<?php
const BIT_5 = 1 << 5;    // 无效的invalid
define(&#39;BIT_5&#39;, 1 << 5); // 有效的valid
?>
6. Bei den durch const definierten Konstanten wird die Groß-/Kleinschreibung beachtet, und define kann angeben, ob die Groß-/Kleinschreibung durch den dritten Parameter erreicht wird (true bedeutet, dass die Groß-/Kleinschreibung nicht berücksichtigt wird).

<?php
define(&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; // BAR
echo foo; // BAR
?>

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen const define in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn