Funksjonen array_splice
Funksjonen array_splice skjærer av og returnerer
en del av en array. Samtidig forsvinner den avskårne delen
fra arrayen. I stedet for den avskårne delen
kan nye elementer settes inn.
Den første parameteren angir arrayen som skal skjæres. Den andre parameteren angir fra hvilket element avskjæringen skal starte, og den tredje - hvor mange elementer som skal skjæres av. Den tredje parameteren kan være negativ - i så fall starter tellingen fra slutten (-1 - siste element, -2 - nest siste og så videre). Den tredje parameteren kan helt utelates - i så fall skjæres arrayen helt til slutten.
I den siste valgfrie parameteren kan man angi en array med elementer som vil blitt satt inn i stedet for de slettede.
Syntaks
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Eksempel
La oss skjære ut elementer fra det første (har
nummer 0), 3 stykker:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Resultat av kjøring av koden:
['a', 'b', 'c']
Samtidig vil arrayen $arr se slik ut:
['d', 'e']
Eksempel
La oss skjære ut elementer fra det andre (har
nummer 1), 3 stykker:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Resultat av kjøring av koden:
['b', 'c', 'd']
Samtidig vil arrayen $arr se slik ut:
['a', 'e']
Eksempel
La oss skjære ut elementer fra det andre (har nummer 1) til slutten av arrayen. For å gjøre dette skriver vi ikke den tredje parameteren:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Resultat av kjøring av koden:
['b', 'c', 'd', 'e']
Samtidig vil arrayen $arr se slik ut:
['a']
Eksempel
La oss skjære ut elementer fra det nest siste,
2 stykker. For å gjøre dette setter vi den andre parameteren
til -2 (posisjonen til det nest siste
elementet):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Resultat av kjøring av koden:
['d', 'e']
Samtidig vil arrayen $arr se slik ut:
['a', 'b', 'c']
Eksempel
La oss skjære ut elementer fra det andre (har
nummer 1), 2 stykker, og i stedet sette inn
elementene 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Resultat av kjøring av koden:
['b', 'c']
Samtidig vil arrayen $arr se slik ut:
['a', 1, 2, 3, 'd', 'e']
Eksempel
La oss ikke skjære ut noe som helst,
men bare sette inn elementene 1, 2,
3 startende fra posisjon 1. For
å gjøre dette settes den tredje parameteren til null:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Resultat av kjøring av koden:
[]
Samtidig vil arrayen $arr se slik ut:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Se også
-
funksjonen
array_slice,
som skjærer av en del av en array uten å endre selve arrayen