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
arraywerden nicht erhalten.
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
-
array -
Das Eingabe-Array.
-
offset -
Ist
offsetpositiv, beginnt der zu entfernende Bereich bei diesem Offset vom Anfang des Arraysarray.Ist
offsetnegativ, beginnt der zu entfernende Bereich so viele Elemente vor dem Ende des Arraysarray. -
length -
Ist
lengthnicht angegeben, wird alles vonoffsetbis zum Ende des Arrays entfernt.Ist
lengthangegeben und positiv, werden so viele Elemente entfernt.Ist
lengthangegeben und negativ, so ist das Ende des entfernten Bereichs so viele Elemente vor dem Ende des Array.Wenn
lengthangegeben und 0 ist, werden keine Elemente entfernt.TippUm alles von
offsetbis zum Ende des Arrays zu entfernen, wennreplacementebenfalls angegeben ist, verwenden Siecount($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.Hinweis:
Schlüssel werden bei der Ersetzung nicht erhalten.
Wenn
replacementnur aus einem Element besteht, ist es nicht notwendig,array()oder eckige Klammern anzugeben, sofern das Element nicht selbst ein Array, ein Objekt odernullist.
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

