ID: 34834 Updated by: [EMAIL PROTECTED] Reported By: tomas_matousek at hotmail dot com -Status: Open +Status: Verified Bug Type: Arrays related Operating System: * PHP Version: 5CVS-2005-11-02 (cvs)
Previous Comments: ------------------------------------------------------------------------ [2005-10-11 23:35:21] tomas_matousek at hotmail dot com Description: ------------ Although one cannot pass obejects to array_merge_recursive() function, it looks like it doesn't ignore objects at all. If objects are contained in the array it merges them as if they were arrays of fields. I think it is not good to treat objects in this way when other array functions doesn't do so (e.g. array_walk_recursive doesn't step to fields of objects). Reproduce code: --------------- class A { var $field = array(1); } $a = new A; $x = array("a" => $a); $y = array("a" => array("field" => array(2))); var_dump(array_merge_recursive($x,$y)); Expected result: ---------------- array(1) { ["a"]=> array(2) { [0]=> object(A)#1 (1) { ["field"]=> array(1) { [0]=> int(1) } } ["field"]=> array(1) { [0]=> int(2) } } } Actual result: -------------- array(1) { ["a"]=> array(1) { ["field"]=> array(2) { [0]=> int(1) [1]=> int(2) } } } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34834&edit=1