Functie array_splice
De functie array_splice snijdt een deel van een array af en retourneert het.
Hierdoor verdwijnt het afgesneden deel
uit de array. In plaats van het afgesneden deel
kunnen nieuwe elementen worden ingevoegd.
De eerste parameter specificeert de array die moet worden gesplitst. De tweede parameter specificeert vanaf welk element moet worden begonnen met afknippen, en de derde - hoeveel elementen af te knippen. De derde parameter kan negatief zijn - in dat geval begint de telling vanaf het einde (-1 - laatste element, -2 - op een na laatste element, enzovoort). De derde parameter kan helemaal worden weggelaten - in dat geval wordt de array tot het einde afgesneden.
In de laatste optionele parameter kan een array van elementen worden opgegeven die worden ingevoegd in plaats van de verwijderde elementen.
Syntaxis
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Voorbeeld
Laten we elementen vanaf de eerste (heeft
index 0), 3 stuks uitknippen:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['a', 'b', 'c']
Hierdoor ziet de array $arr er als volgt uit:
['d', 'e']
Voorbeeld
Laten we elementen vanaf de tweede (heeft
index 1), 3 stuks uitknippen:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['b', 'c', 'd']
Hierdoor ziet de array $arr er als volgt uit:
['a', 'e']
Voorbeeld
Laten we elementen vanaf de tweede (heeft index 1) tot het einde van de array uitknippen. Hiervoor schrijven we de derde parameter niet:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['b', 'c', 'd', 'e']
Hierdoor ziet de array $arr er als volgt uit:
['a']
Voorbeeld
Laten we elementen vanaf de op een na laatste,
2 stuks uitknippen. Hiervoor zetten we de tweede parameter
op -2 (positie van het op een na laatste
element):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['d', 'e']
Hierdoor ziet de array $arr er als volgt uit:
['a', 'b', 'c']
Voorbeeld
Laten we elementen vanaf de tweede (heeft
index 1), 2 stuks uitknippen, en in plaats daarvan
elementen 1, 2, 3 invoegen:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['b', 'c']
Hierdoor ziet de array $arr er als volgt uit:
['a', 1, 2, 3, 'd', 'e']
Voorbeeld
Laten we helemaal niets uitknippen,
en simpelweg elementen 1, 2,
3 invoegen vanaf positie 1. Hiervoor
wordt de derde parameter op nul gezet:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Resultaat van de code-uitvoering:
[]
Hierdoor ziet de array $arr er als volgt uit:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Zie ook
-
de functie
array_slice,
die een deel van een array afsnijdt, zonder de array zelf te wijzigen