Функция array_splice
Die Funktion array_splice schneidet einen Teil eines Arrays aus und gibt ihn zurück.
Dabei verschwindet der abgeschnittene Teil
aus dem Array. Anstelle des abgeschnittenen Teils
können neue Elemente eingefügt werden.
Als erster Parameter wird das zu schneidende Array angegeben. Der zweite Parameter gibt an, ab welchem Element mit dem Schneiden begonnen werden soll, und der dritte - wie viele Elemente abgeschnitten werden sollen. Der dritte Parameter kann negativ sein - in diesem Fall beginnt die Zählung vom Ende (-1 - letztes Element, -2 - vorletztes und so weiter). Der dritte Parameter kann auch ganz weggelassen werden - in diesem Fall wird das Array bis zum Ende abgeschnitten.
Im letzten optionalen Parameter kann ein Array von Elementen angegeben werden, die anstelle der entfernten eingefügt werden.
Syntax
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Beispiel
Lassen Sie uns Elemente ab dem ersten (hat
Index 0), 3 Stück ausschneiden:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Ergebnis der Codeausführung:
['a', 'b', 'c']
Gleichzeitig wird das Array $arr so aussehen:
['d', 'e']
Beispiel
Lassen Sie uns Elemente ab dem zweiten (hat
Index 1), 3 Stück ausschneiden:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Ergebnis der Codeausführung:
['b', 'c', 'd']
Gleichzeitig wird das Array $arr so aussehen:
['a', 'e']
Beispiel
Lassen Sie uns Elemente ab dem zweiten (hat Index 1) bis zum Ende des Arrays ausschneiden. Dafür schreiben wir den dritten Parameter nicht:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Ergebnis der Codeausführung:
['b', 'c', 'd', 'e']
Gleichzeitig wird das Array $arr so aussehen:
['a']
Beispiel
Lassen Sie uns Elemente ab dem vorletzten,
2 Stück ausschneiden. Dafür setzen wir den zweiten Parameter
auf -2 (Position des vorletzten
Elements):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Ergebnis der Codeausführung:
['d', 'e']
Gleichzeitig wird das Array $arr so aussehen:
['a', 'b', 'c']
Beispiel
Lassen Sie uns Elemente ab dem zweiten (hat
Index 1), 2 Stück ausschneiden und stattdessen
die Elemente 1, 2, 3 einfügen:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Ergebnis der Codeausführung:
['b', 'c']
Gleichzeitig wird das Array $arr so aussehen:
['a', 1, 2, 3, 'd', 'e']
Beispiel
Lassen Sie uns überhaupt nichts ausschneiden,
sondern einfach die Elemente 1, 2,
3 ab Position 1 einfügen. Dafür
wird der dritte Parameter auf Null gesetzt:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Ergebnis der Codeausführung:
[]
Gleichzeitig wird das Array $arr so aussehen:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Siehe auch
-
die Funktion
array_slice,
die einen Teil eines Arrays abschneidet, ohne das Array selbst zu verändern