Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen define und const in PHP?

Was ist der Unterschied zwischen define und const in PHP?

青灯夜游
青灯夜游Original
2020-07-21 10:45:172723Durchsuche

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.

Was ist der Unterschied zwischen define und const in PHP?

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(&#39;BIT_5&#39;, 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(&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; // BAR
echo foo; // BAR

definiert – Überprüfen Sie, ob eine Konstante mit einem bestimmten Namen existiert

define(&#39;PI&#39;,3.14);

$chang = &#39;PI&#39;;
echo $chang,&#39;<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!

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