function.array-merge.html 10.3 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>F&uuml;hrt ein oder mehrere Arrays zusammen</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.array-merge-recursive.html">array_merge_recursive</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-multisort.html">array_multisort</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-merge" class="refentry">
   <div class="refnamediv">
    <h1 class="refname">array_merge</h1>
    <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">array_merge</span> &mdash; <span class="dc-title">Führt ein oder mehrere Arrays zusammen</span></p>

   </div>
   <div class="refsect1 description" id="refsect1-function.array-merge-description">
    <h3 class="title">Beschreibung</h3>
     <div class="methodsynopsis dc-description">
      <span class="type">array</span> <span class="methodname"><strong>array_merge</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_merge()</strong></span> fügt die Elemente von einem oder
     mehreren Arrays zusammen, indem die Werte des einen an das Ende des
     anderen angehängt werden. Das daraus resultierende Array wird
     zurückgegeben.
    </p>
    <p class="para">
     Haben die angegebenen Arrays die selben String-Schlüssel, dann
     wird der hintere Wert dieses Schlüssels den vorhergehenden
     überschreiben. Haben die Arrays den gleichen numerischen
     Schlüssel, dann wird der hintere Wert den vorhergehenden <em class="emphasis">nicht</em> überschreiben, sondern angehängt.
    </p>
    <p class="para">
     Falls nur ein Array angegeben und dieses numerisch indiziert ist, wird das
     Array fortlaufend neu nummeriert.
    </p>
    <p class="para">    
     <div class="example" id="example-4922">
      <p><strong>Beispiel #1 <span class="function"><strong>array_merge()</strong></span></strong></p>
      <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$array1&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"farbe"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$array2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"a"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"b"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"farbe"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"grün"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"form"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"trapezoid"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">(</span><span style="color: #0000BB">$array1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$array2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
      </div>

      <div class="example-contents"><p>
       Nun ist <em>$result</em>:
      </p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [farbe] =&gt; grün
    [0] =&gt; 2
    [1] =&gt; 4
    [2] =&gt; a
    [3] =&gt; b
    [form] =&gt; trapezoid
    [4] =&gt; 4
)
</pre></div>
      </div>
     </div>
    </p>
    <p class="para">
     <div class="example" id="example-4923">
      <p><strong>Beispiel #2 Einfaches <span class="function"><strong>array_merge()</strong></span> Beispiel</strong></p>
      <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$array1&nbsp;</span><span style="color: #007700">=&nbsp;array();<br /></span><span style="color: #0000BB">$array2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"data"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">(</span><span style="color: #0000BB">$array1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$array2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
      </div>

      <div class="example-contents"><p>
       Vergessen Sie nicht, dass numerische Schlüssel neu numeriert werden!
      </p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [0] =&gt; data
)
</pre></div>
      </div>
      <div class="example-contents"><p>
       Wenn Sie die Arrays komplett erhalten und nur eines an das andere
       anhängen wollen, verwenden Sie den Operator <em>+</em>:
      </p></div>
      <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$array1&nbsp;</span><span style="color: #007700">=&nbsp;array();<br /></span><span style="color: #0000BB">$array2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"data"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$array1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">$array2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
      </div>

      <div class="example-contents"><p>
       Der numerische Schlüssel sowie die Assoziation bleiben erhalten.
      </p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [1] =&gt; data
)
</pre></div>
      </div>
     </div>
    </p>
    <div class="warning"><strong class="warning">Warnung</strong>
     <p class="para">
      Das Verhalten von <span class="function"><strong>array_merge()</strong></span> wurde in PHP 5 geändert.
      Anders als in PHP 4 akzeptiert <span class="function"><strong>array_merge()</strong></span> jetzt nur
      noch Parameter vom Typ <span class="type"><a href="language.types.array.html" class="type array">array</a></span>. Man kann jedoch Typumwandlung
      verwenden, um andere Typen zusammenzuführen. Schauen Sie für Details in das
      Beispiel unten.
     </p>
     <p class="para">
      <div class="example" id="example-4924">
       <p><strong>Beispiel #3 <span class="function"><strong>array_merge()</strong></span> PHP 5 Beispiel</strong></p>
       <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$beginning&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'foo'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$end&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'bar'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">((array)</span><span style="color: #0000BB">$beginning</span><span style="color: #007700">,&nbsp;(array)</span><span style="color: #0000BB">$end</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</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
(
    [0] =&gt; foo
    [1] =&gt; bar
)
</pre></div>
       </div>
      </div>
     </p>
    </div>
    <p class="para">
     Siehe auch <span class="function"><a href="function.array-merge-recursive.html" class="function">array_merge_recursive()</a></span>,
     <span class="function"><a href="function.array-combine.html" class="function">array_combine()</a></span> und
     <a href="language.operators.array.html" class="link">array operators</a>.
    </p>
   </div>

  </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.array-merge-recursive.html">array_merge_recursive</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-multisort.html">array_multisort</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>