Heim  >  Artikel  >  Backend-Entwicklung  >  Warum können PHP-Konstanten als Ausdrücke definiert werden, deren Werte sich ändern?

Warum können PHP-Konstanten als Ausdrücke definiert werden, deren Werte sich ändern?

WBOY
WBOYOriginal
2016-10-10 11:55:561067Durchsuche

Im offiziellen PHP-Handbuch heißt es: „Sobald eine Konstante definiert ist, kann sie weder geändert noch undefiniert werden.“

Aber warum kann eine solche Wertänderung im Programm definiert werden?

<code>define("MESSAGE", time());

//输出常量
echo MESSAGE;</code>

Antwortinhalt:

Im offiziellen PHP-Handbuch heißt es: „Sobald eine Konstante definiert ist, kann sie weder geändert noch undefiniert werden.“

Aber warum kann diese Wertänderung im Programm definiert werden?

<code>define("MESSAGE", time());

//输出常量
echo MESSAGE;</code>

Grammatisch gesehen ist daran nichts auszusetzen. Die im Handbuch erwähnten Änderungen betonen die späteren künstlichen Änderungen, einschließlich der Löschung.

Die NACHRICHT, die Sie hier ausdrücken möchten, ist variabel, was als Ergebnis davon verstanden werden kann, dass PHP selbst während des Betriebs time() im Speicher findet.

Ich vermute, das hat etwas mit funktionaler Programmierung zu tun. Die Funktion time() kann einer Konstante zugewiesen werden. Der Zugriff auf die Konstante entspricht dem Zugriff auf die Funktion time(), und der Rückgabewert der Funktion time() ändert sich ständig.

Sobald eine Konstante definiert ist, kann sie weder geändert noch undefiniert werden

Dann können Sie versuchen, NACHRICHT zu ändern,
Zum Beispiel MESSAGE = 1;

Es fühlt sich an, als würde dadurch eine Verbindung zur Funktion time() hergestellt!

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