牛牛在线工具

gc_collect_cycles()

收录 8868 个 PHP 函数,含用途说明与用法示例。

gc_collect_cycles()

强制执行 PHP 垃圾回收器,可以回收循环引用的对象

函数名:gc_collect_cycles() 适用版本:PHP 5 >= 5.3.0, PHP 7 用法:gc_collect_cycles() 函数用于强制执行 PHP 垃圾回收器,可以回收循环引用的对象。 示例: class MyClass { public $otherObj; public function __construct() { $this->otherObj = new OtherClass(); } } class OtherClass { public $myObj; public function __construct() { $this->myObj = new MyClass(); } } $obj1 = new MyClass(); $obj2 = new MyClass(); // 将对象相互引用,形成循环引用 $obj1->otherObj->myObj = $obj2; $obj2->otherObj->myObj = $obj1; // 执行垃圾回收 gc_collect_cycles(); // 检查对象是否被回收 var_dump(gc_enabled()); // 输出: bool(true) var_dump(gc_collect_cycles()); // 输出: int(2) 在上面的示例中,我们创建了两个对象 $obj1 和 $obj2,并相互引用,形成循环引用。然后,我们调用 gc_collect_cycles() 函数来强制执行垃圾回收。最后,使用 gc_enabled() 函数检查垃圾回收是否启用,并使用 gc_collect_cycles() 函数获取回收的循环引用对象的数量。在这个例子中,输出的结果是 2,表示成功回收了两个循环引用对象。