Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen Define und Const in PHP

Der Unterschied zwischen Define und Const in PHP

不言
不言Original
2018-07-04 17:36:232490Durchsuche

Dieser Artikel stellt hauptsächlich den Unterschied zwischen Define und Const in PHP vor. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.

Wir ändern oft Werte Als Konstante definiert, werden Konstanten im Allgemeinen in Großbuchstaben ohne ein Dollarzeichen davor ausgedrückt. Was ist also 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.

<?php
// 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;周伯通&#39;;
echo USERNAME.PHP_EOL;
echo constant("USERNAME");
const ZHOUUSERNAME = &#39;周伯通九阴真经&#39;;define(&#39;MYUSERNAME&#39;,&#39;周伯通九阴真经2&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r(get_defined_constants());
?>

Die Unterschiede zwischen Konstanten und Variablen sind wie folgt:

1. const ist eine Sprachstruktur; , die über den dritten Parameter angeben kann, ob die Groß-/Kleinschreibung beachtet werden soll. true bedeutet Groß- und Kleinschreibung, der Standardwert ist false

2. const ist einfach und leicht zu lesen und viel schneller als beim Kompilieren definiert.

3. const kann in Klassen zum Definieren von Klassenmitgliedskonstanten verwendet werden und kann nach der Definition nicht geändert werden; define kann nicht in Klassen verwendet werden und kann für globale Variablen verwendet werden

<?php
class MyClass
{    const USER = &#39;周伯通&#39;;    
function showConstant() {        
echo  self::USER . PHP_EOL;        
echo  constant(&#39;USER&#39;); // 注意:Warning: constant(): Couldn&#39;t find constant USER    
}
}
$class = new MyClass();
$class->showConstant();

4. const wird zur Kompilierzeit definiert, muss sich also im obersten Bereich befinden und kann nicht in Funktionen, Schleifen und if-Bedingungen verwendet werden define Es ist eine Funktion, das heißt, sie kann überall dort verwendet werden, wo eine Funktion aufgerufen werden kann

<?php
$x = true;
if ($x==1){   
//const FOO = &#39;BAR&#39;;    
// 无效的invalid
}
if ($x==1){    
define(&#39;FOO&#39;, &#39;BAR&#39;); // 有效的valid
    echo FOO;
}

Das Obige ist der gesamte Inhalt davon Ich hoffe, dass dieser Artikel für das Studium aller hilfreich sein wird. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Analyse der ob_start-Nutzung in PHP

Erklärung der PHP-Funktion empty()

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Define und Const 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