本文将要讲述 PHP 发展历程中的垃圾回收及内存管理相关内容。

引用计数

在 PHP 5.2 及以前的版本中,PHP 的垃圾回收采用的是 引用计数 算法。

引用计数基础知识

引用计数基础知识

php 的变量存储在「zval」变量容器(数据结构)中,「zval」属性包含如下信息:

  • 当前变量的数据类型;
  • 当前变量的值;
  • 用于标识变量是否为引用传递的 is_ref 布尔类型标识;
  • 指向该「zval」变量容器的变量个数的 refcount 标识符(即这个 zval 被引用的次数,注意这里的引用不是指引用传值,注意区分)。

当一个变量被赋值时,就会生成一个对应的「zavl」变量容器。【

深入讲解PHP垃圾回收及内存管理相关内容