|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-11-26 09:02 UTC] jason at jasonjustman dot com
[2006-05-24 08:03 UTC] dmitry@php.net
[2006-05-25 02:31 UTC] jason at jasonjustman dot com
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Dec 02 21:00:01 2025 UTC |
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 ) ) )