ID: 43983 User updated by: rubens21 at gmail dot com Reported By: rubens21 at gmail dot com Status: Open Bug Type: Scripting Engine problem PHP Version: 5.2.5 New Comment:
This example is more simple: $test = new stdClass(); $Objeto = new stdClass(); $test->valor = "The first value"; $Objeto->valorDeTeste[] = $test; $test->valor = "The second value"; print_r($Objeto->valorDeTeste); Expected: Array ( [0] => stdClass Object ( [valor] => The first value ) ) Actual Array ( [0] => stdClass Object ( [valor] => The second value ) ) Previous Comments: ------------------------------------------------------------------------ [2008-01-30 15:37:54] rubens21 at gmail dot com Description: ------------ change atribute of a class, and arrays that received values is change too. I know that the bug #33207 (http://bugs.php.net/bug.php?id=33207&edit=2) describes this same problem, but there is not the solution and the id of the other related. Reproduce code: --------------- $test = new stdClass(); $Objeto = new stdClass(); $test->valor = "No Change!"; $Objeto->valorDeTeste[] = $test; $test->valor = "Yes, change!"; $Objeto->valorDeTeste[] = $test; print_r($Objeto->valorDeTeste); Expected result: ---------------- Array ( [0] => stdClass Object ( [valor] => No Change! ) [1] => stdClass Object ( [valor] => Yes, change! ) ) Actual result: -------------- Array ( [0] => stdClass Object ( [valor] => Yes, change! ) [1] => stdClass Object ( [valor] => Yes, change! ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43983&edit=1