Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Funktionen Garbage Collection-Mechanismus 1 – Grundkenntnisse der Referenzzählung

PHP-Funktionen Garbage Collection-Mechanismus 1 – Grundkenntnisse der Referenzzählung

黄舟
黄舟Original
2017-02-04 09:46:451322Durchsuche

Jede PHP-Variable existiert in einem Variablencontainer namens „zval“. Ein zval-Variablencontainer enthält zusätzlich zum Typ und Wert der Variablen zwei Bytes zusätzlicher Informationen. Der erste ist „is_ref“, ein boolescher Wert, der angibt, ob diese Variable zum Referenzsatz gehört. Durch dieses Byte kann die PHP-Engine gewöhnliche Variablen von Referenzvariablen unterscheiden. Da PHP Benutzern die Verwendung benutzerdefinierter Referenzen durch die Verwendung von & ermöglicht, gibt es im zval-Variablencontainer auch einen internen Referenzzählmechanismus, um die Speichernutzung zu optimieren. Das zweite zusätzliche Byte ist „refcount“, das verwendet wird, um die Anzahl der Variablen (auch Symbole genannt) anzugeben, die auf diesen zval-Variablencontainer verweisen. Alle Symbole existieren in einer Symboltabelle, wobei jedes Symbol einen Gültigkeitsbereich (Scope) hat, das Hauptskript (z. B. das über den Browser angeforderte Skript) und jede Funktion oder Methode ebenfalls einen Gültigkeitsbereich haben.
Wenn einer Variablen ein konstanter Wert zugewiesen wird, wird ein zval-Variablencontainer generiert, wie im folgenden Beispiel:

Beispiel #1 Erstellen Sie einen neuen zval-Container

<?php  
    $a = "new string";  
?>

Das Obige ist das Grundwissen des PHP-Feature-Garbage-Collection-Mechanismus 1 – Referenzzählung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


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