1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- --TEST--
- Unset property where unset will recursively access property again
- --FILE--
- <?php
- class Node {
- public $parent = null;
- public $children = [];
- function insert(Node $node) {
- $node->parent = $this;
- $this->children[] = $node;
- }
- function __destruct() {
- var_dump($this);
- unset($this->children);
- }
- }
- $a = new Node;
- $a->insert(new Node);
- $a->insert(new Node);
- ?>
- --EXPECT--
- object(Node)#1 (2) {
- ["parent"]=>
- NULL
- ["children"]=>
- array(2) {
- [0]=>
- object(Node)#2 (2) {
- ["parent"]=>
- *RECURSION*
- ["children"]=>
- array(0) {
- }
- }
- [1]=>
- object(Node)#3 (2) {
- ["parent"]=>
- *RECURSION*
- ["children"]=>
- array(0) {
- }
- }
- }
- }
- object(Node)#2 (2) {
- ["parent"]=>
- object(Node)#1 (2) {
- ["parent"]=>
- NULL
- }
- ["children"]=>
- array(0) {
- }
- }
- object(Node)#3 (2) {
- ["parent"]=>
- object(Node)#1 (2) {
- ["parent"]=>
- NULL
- }
- ["children"]=>
- array(0) {
- }
- }
|