<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.7 $ -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.12 -->
  <refentry id="function.array-merge-recursive">
   <refnamediv>
    <refname>array_merge_recursive</refname>
    <refpurpose>Merge two or more arrays recursively</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>array</type><methodname>array_merge_recursive</methodname>
      <methodparam><type>array</type><parameter>array1</parameter></methodparam>
      <methodparam><type>array</type><parameter>array2</parameter></methodparam>
      <methodparam choice="opt"><type>array</type><parameter>...</parameter></methodparam>
     </methodsynopsis>
    <para>
     <function>array_merge_recursive</function> merges the elements of
     two or more arrays together so that the values of one are appended
     to the end of the previous one.  It returns the resulting array.
    </para>
    <para>
     If the input arrays have the same string keys, then the values for
     these keys are merged together into an array, and this is done
     recursively, so that if one of the values is an array itself, the
     function will merge it with a corresponding entry in another array
     too. If, however, the arrays have the same numeric key, the later
     value will not overwrite the original value, but will be appended.
    </para>
    <para>
     <example>
      <title><function>array_merge_recursive</function> example</title>
      <programlisting role="php">
<![CDATA[
<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
?>
]]>
      </programlisting>
      <para>
       The <literal>$result</literal> will be:
      </para>
      <screen role="php">
<![CDATA[
Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )

            [0] => blue
        )

    [0] => 5
    [1] => 10
)
]]>
      </screen>
     </example>
    </para>
    <para>
     See also <function>array_merge</function>.
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->