ID:               34834
 User updated by:  tomas_matousek at hotmail dot com
 Reported By:      tomas_matousek at hotmail dot com
-Status:           Bogus
+Status:           Open
 Bug Type:         Arrays related
 Operating System: WinXP
 PHP Version:      5.1.0RC1
 New Comment:

Why this is not a bug? Can you explain why this function should treat
objects like arrays (and merges their fields with items of arrays which
is weird) while another array functions doesn't do so? It is not stated
in the documentation.


Previous Comments:
------------------------------------------------------------------------

[2005-11-01 11:25:26] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php



------------------------------------------------------------------------

[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

Reply via email to