Chaque variable php existe dans un conteneur de variable zval En plus du type et de la valeur de la variable, le conteneur indique également si is_ref appartient à la référence
<.> Il existe également un nombre de références refcount. Lors de l'affectation d'une variable à une autre variable, le nombre de références sera augmenté lorsque la variable n'est pas définie ou quitte sa portée, le nombre de références est décrémenté de 1. Lorsque le nombre de références est réduit à 0 , recyclage de la mémoire. Cependant, un tel mécanisme peut entraîner une fuite de mémoirelorsque boucle
références. Exemple : Lorsqu'untableau lui-même est considéré comme un élément de tableau, ce qui suit apparaîtra :
Lorsque le tableau a n'est pas défini Après cela, le problème apparaît : La mémoire ne peut pas être recyclée. Afin de résoudre ce problème, le mécanisme gc a été introduit après php5.3. Plus précisément, il établit un tampon racine et ajoute des conteneurs de variables zval suspects à et au tampon. 1000. Vous pouvez définir, s'il est plein, il sera effacé selon le mécanisme de l'algorithme de recyclage.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!