ID: 34998 User updated by: jason at jasonjustman dot com Reported By: jason at jasonjustman dot com Status: Assigned Bug Type: Scripting Engine problem Operating System: * PHP Version: 5CVS-2005-10-27 (snap) Assigned To: dmitry New Comment:
still present in: PHP Version 5.1.0 System SunOS apache 5.10 Generic sun4u Previous Comments: ------------------------------------------------------------------------ [2005-10-27 10:12:02] jason at jasonjustman dot com Description: ------------ Again, with zend.ze1_compatibility_mode, it fails to properly clone objects when calling as an argument for the array() function. This BC break is getting annoying... Reproduce code: --------------- <? $single_container = array(); $double_container = array(); class base_object {}; $x = new base_object; $x->value = 5; $single_container[1] = $x; $double_container[1] = array($x); $x->value = 10; $single_container[2] = $x; $double_container[2] = array($x); $x->value = 15; $single_container[3] = $x; $double_container[3] = array($x); print_r($single_container); print_r($double_container); Expected result: ---------------- //single Array ( [1] => base_object Object ( [value] => 5 ) [2] => base_object Object ( [value] => 10 ) [3] => base_object Object ( [value] => 15 ) ) //double, values are correct Array ( [1] => Array ( [0] => base_object Object ( [value] => 5 ) ) [2] => Array ( [0] => base_object Object ( [value] => 10 ) ) [3] => Array ( [0] => base_object Object ( [value] => 15 ) ) ) Actual result: -------------- //single Array ( [1] => base_object Object ( [value] => 5 ) [2] => base_object Object ( [value] => 10 ) [3] => base_object Object ( [value] => 15 ) ) //double - values are incorrect Array ( [1] => Array ( [0] => base_object Object ( [value] => 15 ) ) [2] => Array ( [0] => base_object Object ( [value] => 15 ) ) [3] => Array ( [0] => base_object Object ( [value] => 15 ) ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34998&edit=1