Heim > Artikel > Backend-Entwicklung > Was sind PHP-Referenzvariablen? So implementieren Sie Referenzen in PHP
In diesem Artikel erfahren Sie, was eine PHP-Referenzvariable ist. Wie man Referenzen in PHP implementiert, hat einen gewissen Referenzwert. Ich hoffe, dass es für Sie hilfreich ist.
Konzept:
Referenz: In PHP greifen verschiedene Variablennamen auf den Inhalt derselben Variablen zu, die zu einer Referenz wird und durch das &-Symbol dargestellt wird.
Zitat-Arbeitsprinzip:
(1) PHP-Speicherprinzip im Speicher:
<?php $a = range(1, 100); $b = $a; ?>
Weil es in PHP einen COW-Mechanismus (Copy On Write) gibt, also
a; Der obige Code kann im Speicher wie folgt dargestellt werden:
Nur wenn
a wird zu diesem Zeitpunkt wieder geöffnet; dies ist der COW-Mechanismus von PHP. Das heißt:<?php $a = range(1, 100); $b = $a; $a = range(1, 100); ?>Obwohl sich das nicht ändert
a. Sie können die PHP-Funktion „memory_get_usage()“ verwenden, um die Speichernutzung zu überprüfen und dies nachzuweisen. (2) Implementierungsprinzip von Referenzen in PHP
<?php $a = range(1, 100); $b = &$a; ?>Zu diesem Zeitpunkt befindet sich eine Referenz (&) im Speicher
a ist der ursprünglich zugewiesene Speicher und ändert sich zu diesem Zeitpunkt nicht, und dann, wenn der Wert von $a geändert wird Zeit:
<?php $a = range(1, 100); memory_get_usage(); $b = &$a; memory_get_usage(); $a = range(1,1000); memory_get_usage();?>
Sie können sehen, dass ein Speicherplatz im Speicher nicht erneut geöffnet wird, da die Referenz diese Adresse dauerhaft
b, also die Werte von
a und $b ändern wird sich ändern. Sie können es auch mit der Funktion „memory_get_usage()“ anzeigen.
(3) ZVAL-Struktur (Variablencontainer) in PHP
Wir wissen, dass Variablen in PHP in der ZVAL-Struktur gespeichert werden und Referenzen auch angezeigt werden können, indem Sie sich die ZVAL-Struktur ansehen. Überprüfen Sie die Speicherstatus.
<?php $a = range(1, 100); xdebug_debug_zval('a'); $b = &$a; ?>
Wenn Sie die Funktion xdebug_debug_zval(); verwenden, müssen Sie die xdebug-Erweiterung von PHP installieren.
Empfohlene verwandte Artikel:
Was sind die Unterschiede zwischen PHP7 und PHP5? Vergleich zwischen PHP5 und PHP7Erklärung des Prinzips der Zeitfunktion strtotime() in PHPDas obige ist der detaillierte Inhalt vonWas sind PHP-Referenzvariablen? So implementieren Sie Referenzen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!