- var_dump: documentation ( source)
- gc_collect_cycles: documentation ( source)
- memory_get_usage: documentation ( source)
<?php
class X {
public $r;
public $r2;
public function __destruct() {
$this->r2 = null;
}
}
function getCircle() {
$a = new X();
$b = new X();
$c = new X();
$a->r = $c;
$b->r = $a;
$c->r = $b;
return $a;
}
$zeroMemory = memory_get_usage();
$u = getCircle();
$u->r2 = getCircle();
$u = null;
gc_collect_cycles();
var_dump(memory_get_usage()- $zeroMemory);
gc_collect_cycles();
var_dump(memory_get_usage()- $zeroMemory);