- gc_collect_cycles: documentation ( source)
<?php
gc_collect_cycles();
class myclass
{
public function __construct ()
{
echo("constructor\n");
}
public function __destruct ()
{
echo("destructor\n");
}
}
$t = new temp();
$t->dupa = 'ddd';
$t->test = new myclass();
$temp = array(
0 => $t
);
echo("------------1-----------\n");
foreach ($temp as $key => $ttt)
{
//unset($temp[$key]['test']);
// $temp[$key]->test = null;
// $temp[$key] = null;
unset($temp[$key]->test, $temp[$key], $temp);
}
echo("------------2-----------\n");
echo("------------3-----------\n");
// gc_collect_cycles();
// foreach (range(1, 100000) as $a)
// {
// echo PHP_EOL.$a.PHP_EOL;
// }
class temp
{
public $dupa;
public $test;
public function __destruct ()
{
echo PHP_EOL.'TEMP D.'.PHP_EOL;
unset($this->test);
}
}