Functie array_slice
De functie array_slice knijpt een deel van een array af en geeft dit
terug. De oorspronkelijke array wordt hierbij niet gewijzigd.
De eerste parameter specificeert de array die
afgeknipt moet worden. De tweede parameter specificeert
vanaf welk element het afknippen moet beginnen, en de derde
- hoeveel elementen afgeknipt moeten worden. De tweede parameter
kan negatief zijn - in dat geval
begint de telling vanaf het einde (-1 - het laatste element,
-2 - het op een na laatste element, enzovoort). De derde parameter
kan helemaal weggelaten worden - in dat geval
wordt de array tot het einde afgeknipt.
De laatste optionele parameter regelt
of de sleutels behouden moeten blijven bij het afknippen, true -
behouden, false (standaard) - niet behouden.
Stringsleutels worden altijd behouden, ongeacht de
waarde van deze parameter.
Syntaxis
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Voorbeeld
Laten we elementen vanaf de eerste (heeft
nummer 0), 3 stuks afknippen:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['a', 'b', 'c']
Voorbeeld
Laten we elementen vanaf de tweede (heeft
nummer 1), 3 stuks afknippen:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['b', 'c', 'd']
Voorbeeld
Laten we elementen vanaf de tweede (heeft
nummer 1) tot het einde van de array afknippen. Hiervoor schrijven we de derde
parameter niet:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['b', 'c', 'd', 'e']
Voorbeeld
Laten we elementen vanaf de op een na laatste,
2 stuks afknippen. 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_slice($arr, -2, 2);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['d', 'e']
Voorbeeld
Standaard behoudt de array geen sleutels bij het afknippen:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['a', 'b', 'c']
Voorbeeld
Laten we ervoor zorgen dat de sleutels behouden blijven. Hiervoor zetten we de laatste parameter op true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Resultaat van de code-uitvoering:
[1 => 'a', 2 => 'b', 3 => 'c']
Voorbeeld
Stringsleutels worden altijd behouden bij het afknippen:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultaat van de code-uitvoering:
['a' => 1, 'b' => 2, 'c' => 3]
Zie ook
-
de functie
array_splice,
die een deel van een array afknipt en hierbij de oorspronkelijke array wijzigt