function.array-splice.html 16.2 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>Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas
   anderes</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.array-slice.html">array_slice</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-sum.html">array_sum</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-splice" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">array_splice</h1>
  <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">array_splice</span> &mdash; <span class="dc-title">
   Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas
   anderes
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.array-splice-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="type">array</span> <span class="methodname"><strong>array_splice</strong></span>
    ( <span class="methodparam"><span class="type">array</span> <code class="parameter reference">&$input</code></span>
   , <span class="methodparam"><span class="type">int</span> <code class="parameter">$offset</code></span>
   [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$length</code><span class="initializer"> = 0</span></span>
   [, <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$replacement</code></span>
  ]] )</div>

  <p class="para rdfs-comment">
   Entfernt die durch <code class="parameter">offset</code> und
   <code class="parameter">length</code> angegebenen Elemente aus dem Array
   <code class="parameter">input</code>, und ersetzt diese durch die Elemente
   des Arrays <code class="parameter">replacement</code>, wenn angegeben.
  </p>
  <p class="para">
   Beachten Sie, dass numerische Schlüssel in
   <code class="parameter">input</code> nicht erhalten werden.
  </p>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    Wenn <code class="parameter">replacement</code> kein Array ist, wird es in
    ein Array <a href="language.types.array.html#language.types.array.casting" class="link">umgewandelt</a>
    (dies entspricht <code class="code">(array) $parameter</code>). Dies kann zu
    unerwartetem Verhalten führen, wenn <code class="parameter">replacement</code>
    ein Objekt oder <strong><code>NULL</code></strong> ist.
   </span>
  </p></blockquote>
 </div>

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

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

     <dd>

      <p class="para">
       Das Eingabe-Array.
      </p>
     </dd>

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

     <dd>

      <p class="para">
       Ist <code class="parameter">offset</code> positiv, beginnt der zu
       entfernende Bereich bei diesem Offset vom Anfang des Arrays
       <code class="parameter">input</code>. Ist <code class="parameter">offset</code>
       negativ, beginnt der zu entfernende Bereich so viele Elemente
       vor dem Ende des Arrays <code class="parameter">input</code>.
      </p>
     </dd>

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

     <dd>

      <p class="para">
       Ist <code class="parameter">length</code> nicht angegeben, wird alles
       von <code class="parameter">offset</code> bis zum Ende des Arrays
       entfernt. Ist <code class="parameter">length</code> angegeben und
       positiv, werden so viele Elemente entfernt. Ist
       <code class="parameter">length</code> angegeben und negativ, so ist das
       Ende des entfernten Bereichs so viele Elemente vor dem Ende des
       Array. Tipp: Um alles von <code class="parameter">offset</code> bis zum
       Ende des Arrays zu entfernen, wenn
       <code class="parameter">replacement</code> ebenfalls angegeben ist,
       verwenden Sie <em>count($input)</em> als
       <code class="parameter">length</code>.
      </p>
     </dd>

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

     <dd>

      <p class="para">
       Ist das Array <code class="parameter">replacement</code> angegeben,
       werden die entfernten Elemente durch die Elemente dieses Arrays
       ersetzt.
      </p>
      <p class="para">
       Sind <code class="parameter">offset</code> und
       <code class="parameter">length</code> so angegeben, dass nichts entfernt
       wird, werden die Elemente von <code class="parameter">replacement</code>
       an der von <code class="parameter">offset</code> spezifizierten Stelle
       eingefügt. Beachten Sie, dass Schlüssel bei der Ersetzung nicht
       erhalten werden.
      </p>
      <p class="para">
       Wenn <code class="parameter">replacement</code> nur aus einem Element
       besteht, ist es nicht notwendig, <em>array()</em>
       anzugeben, sofern das Element nicht selbst ein Array, ein Objekt
       odr <strong><code>NULL</code></strong> ist.
      </p>
     </dd>

    
   </dl>

  </p>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.array-splice-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt ein Array zurück, das aus den ausgeschnittenen Elementen
   besteht.
  </p>
 </div>

 <div class="refsect1 examples" id="refsect1-function.array-splice-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-4942">
    <p><strong>Beispiel #1 <span class="function"><strong>array_splice()</strong></span>-Beispiele</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$input&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"grün"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"blau"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">//&nbsp;$input&nbsp;ist&nbsp;nun&nbsp;array("rot",&nbsp;"grün")<br /><br /></span><span style="color: #0000BB">$input&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"grün"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"blau"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">//&nbsp;$input&nbsp;ist&nbsp;nun&nbsp;array("rot",&nbsp;"gelb")<br /><br /></span><span style="color: #0000BB">$input&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"grün"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"blau"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">"orange"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">//&nbsp;$input&nbsp;ist&nbsp;nun&nbsp;array("rot",&nbsp;"orange")<br /><br /></span><span style="color: #0000BB">$input&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"grün"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"blau"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">"schwarz"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"braun"</span><span style="color: #007700">));<br /></span><span style="color: #FF8000">//&nbsp;$input&nbsp;ist&nbsp;nun&nbsp;array("rot",&nbsp;"grün",<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"blau",&nbsp;"schwarz",&nbsp;"braun")<br /><br /></span><span style="color: #0000BB">$input&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"grün"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"blau"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"lila"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">//&nbsp;$input&nbsp;is&nbsp;now&nbsp;array("rot",&nbsp;"grün",<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"blau",&nbsp;"lila",&nbsp;"gelb");<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-4943">
    <p><strong>Beispiel #2 <span class="function"><strong>array_splice()</strong></span>-Beispiele</strong></p>
    <div class="example-contents"><p>
     Die folgenden Anweisungen ändern die Werte von <var class="varname"><var class="varname">$input</var></var>
     auf die gleiche Weise:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />array_push</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$y</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #0000BB">$x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$y</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">array_pop</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_shift</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_unshift</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$y</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #0000BB">$x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$y</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$input</span><span style="color: #007700">[</span><span style="color: #0000BB">$x</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$y</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;für&nbsp;Arrays,&nbsp;bei&nbsp;denen&nbsp;der&nbsp;Schlüssel&nbsp;dem&nbsp;Offset&nbsp;entspricht<br /></span><span style="color: #0000BB">array_splice</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$y</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div>
  </p>
 </div>

 <div class="refsect1 seealso" id="refsect1-function.array-splice-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li class="member"><span class="function"><a href="function.array-slice.html" class="function" rel="rdfs-seeAlso">array_slice()</a> - Extrahiert einen Ausschnitt eines Arrays</span></li>
    <li class="member"><span class="function"><a href="function.unset.html" class="function" rel="rdfs-seeAlso">unset()</a> - L&ouml;schen einer angegebenen Variablen</span></li>
    <li class="member"><span class="function"><a href="function.array-merge.html" class="function" rel="rdfs-seeAlso">array_merge()</a> - F&uuml;hrt ein oder mehrere Arrays 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-slice.html">array_slice</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-sum.html">array_sum</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>