array_splice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_splice Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes

Beschreibung

array_splice(
    array&$array,
    int$offset,
    ?int$length = null,
    mixed$replacement = []
): array

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, wenn replacement ein Objekt oder null ist.

Parameter-Liste

array

Das Eingabe-Array.

offset

Ist offset positiv, beginnt der zu entfernende Bereich bei diesem Offset vom Anfang des Arrays array.

Ist offset negativ, beginnt der zu entfernende Bereich so viele Elemente vor dem Ende des Arrays array.

length

Ist length nicht angegeben, wird alles von offset 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.

Tipp

Um alles von offset bis zum Ende des Arrays zu entfernen, wenn replacement ebenfalls angegeben ist, verwenden Sie count($input) als length.

replacement

Ist das Array replacement angegeben, werden die entfernten Elemente durch die Elemente dieses Arrays ersetzt.

Sind offset und length so angegeben, dass nichts entfernt wird, werden die Elemente von replacement an der von offset 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 oder null ist.

Rückgabewerte

Gibt ein Array zurück, das aus den ausgeschnittenen Elementen besteht.

Changelog

VersionBeschreibung
8.0.0length 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

To Top