array_splice
(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice — Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes
Beschreibung
Entfernt die durch offset
und
length
angegebenen Elemente aus dem Array
array
, und ersetzt diese durch die Elemente
des Arrays replacement
, wenn angegeben.
Hinweis:
Numerische Schlüssel in
array
werden nicht erhalten.
Hinweis: Wenn
replacement
kein Array ist, wird es in ein Array umgewandelt (dies entspricht(array) $parameter
). Dies kann zu unerwartetem Verhalten führen, wennreplacement
ein Objekt odernull
ist.
Parameter-Liste
-
array
-
Das Eingabe-Array.
-
offset
-
Ist
offset
positiv, beginnt der zu entfernende Bereich bei diesem Offset vom Anfang des Arraysarray
.Ist
offset
negativ, beginnt der zu entfernende Bereich so viele Elemente vor dem Ende des Arraysarray
. -
length
-
Ist
length
nicht angegeben, wird alles vonoffset
bis zum Ende des Arrays entfernt.Ist
length
angegeben und positiv, werden so viele Elemente entfernt.Ist
length
angegeben und negativ, so ist das Ende des entfernten Bereichs so viele Elemente vor dem Ende des Array.Wenn
length
angegeben und 0 ist, werden keine Elemente entfernt.TippUm alles von
offset
bis zum Ende des Arrays zu entfernen, wennreplacement
ebenfalls angegeben ist, verwenden Siecount($input)
alslength
. -
replacement
-
Ist das Array
replacement
angegeben, werden die entfernten Elemente durch die Elemente dieses Arrays ersetzt.Sind
offset
undlength
so angegeben, dass nichts entfernt wird, werden die Elemente vonreplacement
an der vonoffset
spezifizierten Stelle eingefügt.Hinweis:
Schlüssel werden bei der Ersetzung nicht erhalten.
Wenn
replacement
nur aus einem Element besteht, ist es nicht notwendig,array()
oder eckige Klammern anzugeben, sofern das Element nicht selbst ein Array, ein Objekt odernull
ist.
Rückgabewerte
Gibt ein Array zurück, das aus den ausgeschnittenen Elementen besteht.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
length ist jetzt nullbar.
|
Beispiele
Beispiel #1 array_splice()-Beispiele
<?php
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 2);
var_dump($input);
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 1, -1);
var_dump($input);
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 1, count($input), "orange");
var_dump($input);
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, -1, 1, array("schwarz", "braun"));
var_dump($input);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(2) { [0]=> string(3) "rot" [1]=> string(5) "grün" } array(2) { [0]=> string(3) "rot" [1]=> string(4) "gelb" } array(2) { [0]=> string(3) "rot" [1]=> string(6) "orange" } array(5) { [0]=> string(3) "rot" [1]=> string(5) "grün" [2]=> string(4) "blau" [3]=> string(7) "schwarz" [4]=> string(5) "braun" }
Beispiel #2 array_splice()-Beispiele zu gleichwertigen Anweisungen
Die folgenden Anweisungen sind gleichwertig:
<?php
// füge zwei Elemente an $input an
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
// entferne das letzte Element von $input
array_pop($input);
array_splice($input, -1);
// entferne das erste Element von $input
array_shift($input);
array_splice($input, 0, 1);
// füge ein Element am Anfang von $input ein
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
// ersetze den Wert von $input am Index $x
$input[$x] = $y; // für Arrays, bei denen der Schlüssel dem Offset entspricht
array_splice($input, $x, 1, $y);
?>
Siehe auch
- array_merge() - Führt zwei oder mehr Arrays zusammen
- array_slice() - Extrahiert einen Ausschnitt eines Arrays
- unset() - Löschen einer angegebenen Variablen