(PHP 4, PHP 5)
array_splice — Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes
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.
inputDas Eingabe-Array.
offset
Ist offset positiv, beginnt der zu
entfernende Bereich bei diesem Offset vom Anfang des Arrays
input. Ist offset
negativ, beginnt der zu entfernende Bereich so viele Elemente
vor dem Ende des Arrays input.
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. 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. Beachten Sie, dass Schlüssel bei der Ersetzung nicht
erhalten werden.
Wenn replacement nur aus einem Element
besteht, ist es nicht notwendig, array()
anzugeben, sofern das Element nicht selbst ein Array, ein Objekt
odr NULL ist.
Gibt ein Array zurück, das aus den ausgeschnittenen Elementen besteht.
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);
?>