function.array-replace-recursive.html 11.7 KB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Replaces elements from passed arrays into the first array recursively</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.array-reduce.html">array_reduce</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-replace.html">array_replace</a></div>
 <div class="up"><a href="ref.array.html">Array Funktionen</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="function.array-replace-recursive" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">array_replace_recursive</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.3.0)</p><p class="refpurpose"><span class="refname">array_replace_recursive</span> &mdash; <span class="dc-title">Replaces elements from passed arrays into the first array recursively</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.array-replace-recursive-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="type">array</span> <span class="methodname"><strong>array_replace_recursive</strong></span>
    ( <span class="methodparam"><span class="type">array</span> <code class="parameter">$array1</code></span>
   , <span class="methodparam"><span class="type">array</span> <code class="parameter">$array2</code></span>
   [, <span class="methodparam"><span class="type">array</span> <code class="parameter">$...</code></span>
  ] )</div>

  <p class="para rdfs-comment">
   <span class="function"><strong>array_replace_recursive()</strong></span> replaces the values of
   <code class="parameter">array1</code> with the same values from all the following
   arrays. If a key from the first array exists in the second array, its value
   will be replaced by the value from the second array. If the key exists in the
   second array, and not the first, it will be created in the first array.
   If a key only exists in the first array, it will be left as is. 
   If several arrays are passed for replacement, they will be processed
   in order, the later array overwriting the previous values.
  </p>
  <p class="para">
   <span class="function"><strong>array_replace_recursive()</strong></span> is recursive : it will recurse into
   arrays and apply the same process to the inner value.
  </p>
  <p class="para">
   When the value in <code class="parameter">array1</code> is scalar, it will be replaced
   by the value in <code class="parameter">array2</code>, may it be scalar or array.
   When the value in <code class="parameter">array1</code> and <code class="parameter">array2</code>
   are both arrays, <span class="function"><strong>array_replace_recursive()</strong></span> will replace
   their respective value recursively.
  </p>
 </div>

 <div class="refsect1 parameters" id="refsect1-function.array-replace-recursive-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>

    
     <dt>
<code class="parameter">array1</code></dt>

     <dd>

      <p class="para">
       The array in which elements are replaced.
      </p>
     </dd>

    
    
     <dt>
<code class="parameter">array2</code></dt>

     <dd>

      <p class="para">
       The array from which elements will be extracted.
      </p>
     </dd>

    
    
     <dt>
<code class="parameter">...</code></dt>

     <dd>

      <p class="para">
       Optional. More arrays from which elements will be extracted.
      </p>
     </dd>

    
   </dl>

  </p>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.array-replace-recursive-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Returns an <span class="type"><a href="language.types.array.html" class="type array">array</a></span>, or <strong><code>NULL</code></strong> if an error occurs.
  </p>
 </div>

 <div class="refsect1 examples" id="refsect1-function.array-replace-recursive-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-4935">
    <p><strong>Beispiel #1 <span class="function"><strong>array_replace_recursive()</strong></span> example</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$base&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'citrus'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(&nbsp;</span><span style="color: #DD0000">"orange"</span><span style="color: #007700">)&nbsp;,&nbsp;</span><span style="color: #DD0000">'berries'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">"blackberry"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"raspberry"</span><span style="color: #007700">),&nbsp;);<br /></span><span style="color: #0000BB">$replacements&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'citrus'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">'pineapple'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">'berries'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">'blueberry'</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$basket&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_replace_recursive</span><span style="color: #007700">(</span><span style="color: #0000BB">$base</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$replacements</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$basket</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$basket&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_replace</span><span style="color: #007700">(</span><span style="color: #0000BB">$base</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$replacements</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$basket</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [citrus] =&gt; Array
        (
            [0] =&gt; pineapple
        )

    [berries] =&gt; Array
        (
            [0] =&gt; blueberry
            [1] =&gt; raspberry
        )

)
Array
(
    [citrus] =&gt; Array
        (
            [0] =&gt; pineapple
        )

    [berries] =&gt; Array
        (
            [0] =&gt; blueberry
        )

)

</pre></div>
    </div>
   </div>
   <div class="example" id="example-4936">
    <p><strong>Beispiel #2 <span class="function"><strong>array_replace_recursive()</strong></span> and recursive behavior</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$base&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'citrus'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">"orange"</span><span style="color: #007700">)&nbsp;,&nbsp;</span><span style="color: #DD0000">'berries'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">"blackberry"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"raspberry"</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">'others'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'banana'&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$replacements&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'citrus'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'pineapple'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'berries'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">'blueberry'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">'others'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">'litchis'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$replacements2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'citrus'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">'pineapple'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">'berries'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #DD0000">'blueberry'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">'others'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'litchis'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$basket&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_replace_recursive</span><span style="color: #007700">(</span><span style="color: #0000BB">$base</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$replacements</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$replacements2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$basket</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [citrus] =&gt; Array
        (
            [0] =&gt; pineapple
        )

    [berries] =&gt; Array
        (
            [0] =&gt; blueberry
            [1] =&gt; raspberry
        )

    [others] =&gt; litchis
)
</pre></div>
    </div>
   </div>
  </p>
 </div>

 <div class="refsect1 seealso" id="refsect1-function.array-replace-recursive-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li class="member"><span class="function"><a href="function.array-replace.html" class="function" rel="rdfs-seeAlso">array_replace()</a> - Replaces elements from passed arrays into the first array</span></li>
    <li class="member"><span class="function"><a href="function.array-merge-recursive.html" class="function" rel="rdfs-seeAlso">array_merge_recursive()</a> - F&uuml;hrt ein oder mehrere Arrays rekursiv zusammen</span></li>
   </ul>
  </p>
 </div>

</div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.array-reduce.html">array_reduce</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-replace.html">array_replace</a></div>
 <div class="up"><a href="ref.array.html">Array Funktionen</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>