array_splice
(PHP 4, PHP 5)
array_splice — Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes
Beschreibung
&$input
, int $offset
[, int $length
[, mixed $replacement = array()
]] )
Entfernt die durch offset und
length angegebenen Elemente aus dem Array
input, und ersetzt diese durch die Elemente
des Arrays replacement, wenn angegeben.
Beachten Sie, dass numerische Schlüssel in
input nicht erhalten werden.
Hinweis: Wenn
replacementkein Array ist, wird es in ein Array umgewandelt (dies entspricht(array) $parameter). Dies kann zu unerwartetem Verhalten führen, wennreplacementein Objekt oderNULList.
Parameter-Liste
-
input -
Das Eingabe-Array.
-
offset -
Ist
offsetpositiv, beginnt der zu entfernende Bereich bei diesem Offset vom Anfang des Arraysinput. Istoffsetnegativ, beginnt der zu entfernende Bereich so viele Elemente vor dem Ende des Arraysinput. -
length -
Ist
lengthnicht angegeben, wird alles vonoffsetbis zum Ende des Arrays entfernt. Istlengthangegeben und positiv, werden so viele Elemente entfernt. Istlengthangegeben und negativ, so ist das Ende des entfernten Bereichs so viele Elemente vor dem Ende des Array. Wennlengthangegeben und 0 ist, werden keine Elemente entfernt. Tipp: Um alles vonoffsetbis zum Ende des Arrays zu entfernen, wennreplacementebenfalls angegeben ist, verwenden Sie count($input) alslength. -
replacement -
Ist das Array
replacementangegeben, werden die entfernten Elemente durch die Elemente dieses Arrays ersetzt.Sind
offsetundlengthso angegeben, dass nichts entfernt wird, werden die Elemente vonreplacementan der vonoffsetspezifizierten Stelle eingefügt. Beachten Sie, dass Schlüssel bei der Ersetzung nicht erhalten werden.Wenn
replacementnur aus einem Element besteht, ist es nicht notwendig, array() anzugeben, sofern das Element nicht selbst ein Array, ein Objekt oderNULList.
Rückgabewerte
Gibt ein Array zurück, das aus den ausgeschnittenen Elementen besteht.
Beispiele
Beispiel #1 array_splice()-Beispiele
<?php
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 2);
// $input ist nun array("rot", "grün")
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 1, -1);
// $input ist nun array("rot", "gelb")
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 1, count($input), "orange");
// $input ist nun array("rot", "orange")
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, -1, 1, array("schwarz", "braun"));
// $input ist nun array("rot", "grün",
// "blau", "schwarz", "braun")
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 3, 0, "lila");
// $input is now array("rot", "grün",
// "blau", "lila", "gelb");
?>
Beispiel #2 array_splice()-Beispiele
Die folgenden Anweisungen ändern die Werte von $input auf die gleiche Weise:
<?php
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input, 0, 1);
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
$input[$x] = $y; // für Arrays, bei denen der Schlüssel dem Offset entspricht
array_splice($input, $x, 1, $y);
?>
Siehe auch
- array_slice() - Extrahiert einen Ausschnitt eines Arrays
- unset() - Löschen einer angegebenen Variablen
- array_merge() - Führt zwei oder mehr Arrays zusammen