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