ID: 14990
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Arrays related
Operating System: n/a
PHP Version: 4.1.1
New Comment:

With 3+ parameters, only the first parameter is left untouched.  All
others are affected, as demonstrated above with $b.


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

[2002-01-11 04:02:21] [EMAIL PROTECTED]

In Summary:
--------------
array_merge_recursive() modifies the array entered as the second
parameter if the merged arrays have at least one identical stringed key.
 It will affect all such duplicate keys, and modify the second
parameter's array as demonstrated below.

Example:
--------------
<?php
  $a = array(2 => '2 a', 'foo' => 'foo a','bar' => 'bar a');
  $b = array(2 => '2 b', 'foo' => 'foo b','bar' => 'bar b');

  $c['recursive'] = array_merge_recursive($a,$b);
  $c['a'] = $a;
  $c['b'] = $b;

  print_r($c);
?>

Example output:
---------------
Array
(
    [recursive] => Array
        (
            [0] => 2 a
            [foo] => Array
                (
                    [0] => foo a
                    [1] => foo b
                )

            [bar] => Array
                (
                    [0] => bar a
                    [1] => bar b
                )

            [1] => 2 b
        )

    [a] => Array
        (
            [2] => 2 a
            [foo] => foo a
            [bar] => bar a
        )

    [b] => Array
        (
            [2] => 2 b
            [foo] => Array
                (
                    [0] => foo b
                )

            [bar] => Array
                (
                    [0] => bar b
                )

        )

)

Notes:
----------------
Notice how in $b, keys 'foo' and 'bar' are now arrays when initially
they were not.  This behavior exists with all such duplicate stringed
keys.  array_merge_recursive() should not directly affect inputted
values.  This seems related to bug
#14128.

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



Edit this bug report at http://bugs.php.net/?id=14990&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to