ID:               43164
 Comment by:       crescentfreshpot at yahoo dot com
 Reported By:      felipensp at gmail dot com
 Status:           Open
 Bug Type:         Scripting Engine problem
 Operating System: Linux
 PHP Version:      5.3CVS-2007-10-31 (snap)
 New Comment:

Works fine for me.

PHP 5.2.1 (cli) (built: Feb  7 2007 23:11:26)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies


Previous Comments:
------------------------------------------------------------------------

[2007-10-31 16:25:33] felipensp at gmail dot com

Description:
------------
Array property don't make recursion when use reference to itself.

Reproduce code:
---------------
<?php

class foo { }

$foo = new foo;
$foo->a = array();
$foo->a[] =& $foo->a;
var_dump($foo);

$foo->a = array();
$foo->a[] = $foo->a;
var_dump($foo);

$a = array();
$a[] = $a;
var_dump($a);

$a = array();
$a[] =& $a;
var_dump($a);


Expected result:
----------------
object(foo)#1 (1) {
  ["a"]=>
  array(1) {
    [0]=>
    *RECURSION*
  }
}
object(foo)#1 (1) {
  ["a"]=>
  &array(1) {
    [0]=>
    &array(1) {
      [0]=>
      *RECURSION*
    }
  }
}
array(1) {
  [0]=>
  array(1) {
    [0]=>
    *RECURSION*
  }
}
array(1) {
  [0]=>
  &array(1) {
    [0]=>
    &array(1) {
      [0]=>
      *RECURSION*
    }
  }
}


Actual result:
--------------
object(foo)#1 (1) {
  ["a"]=>
  array(1) {
    [0]=>
    array(0) {
    }
  }
}
object(foo)#1 (1) {
  ["a"]=>
  &array(1) {
    [0]=>
    &array(1) {
      [0]=>
      *RECURSION*
    }
  }
}
array(1) {
  [0]=>
  array(1) {
    [0]=>
    *RECURSION*
  }
}
array(1) {
  [0]=>
  &array(1) {
    [0]=>
    &array(1) {
      [0]=>
      *RECURSION*
    }
  }
}



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=43164&edit=1

Reply via email to