summaryrefslogtreecommitdiff
path: root/Zend/tests/gc_041.phpt
blob: e5870286ba29fc7ecc4f4b1bf88aab13371a0776 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--TEST--
GC 041: Handling of references in nested data of objects with destructor
--INI--
zend.enable_gc = 1
--FILE--
<?php
class ryat {
        var $ryat;
        var $chtg;
        var $nested;
        function __destruct() {
                $GLOBALS['x'] = $this;
        }
}
$o = new ryat;
$o->nested = [];
$o->nested[] =& $o->nested;
$o->ryat = $o;
$x =& $o->chtg;
unset($o);
var_dump(gc_collect_cycles());
var_dump($x);
?>
--EXPECT--
int(0)
object(ryat)#1 (3) {
  ["ryat"]=>
  *RECURSION*
  ["chtg"]=>
  *RECURSION*
  ["nested"]=>
  &array(1) {
    [0]=>
    *RECURSION*
  }
}