Funksie array_slice
Die funksie array_slice sny 'n gedeelte van 'n skikking af en
gee dit terug. Die oorspronklike skikking word nie verander nie.
Die eerste parameter spesifiseer die skikking om te sny.
Die tweede parameter spesifiseer vanaf watter element
om te begin sny, en die derde - hoeveel elemente om af te sny.
Die tweede parameter kan negatief wees - in hierdie geval
sal die telling vanaf die einde begin (-1 - die laaste element,
-2 - die voorlaaste element, ensovoorts). Die derde parameter
kan heeltemal weggelaat word - in hierdie geval
sal die skikking tot by die einde afgesny word.
Die laaste opsionele parameter bepaal
of sleutels behou moet word tydens die afsny, true -
hou vas, false (verstek) - moenie behou nie.
Stringsleutels word altyd behou, ongeag die
waarde van hierdie parameter.
Sintaksis
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Voorbeeld
Kom ons sny elemente vanaf die eerste een (het
nommer 0), 3 stuks uit:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultaat van die kode-uitvoering:
['a', 'b', 'c']
Voorbeeld
Kom ons sny elemente vanaf die tweede een (het
nommer 1), 3 stuks uit:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Resultaat van die kode-uitvoering:
['b', 'c', 'd']
Voorbeeld
Kom ons sny elemente vanaf die tweede een (het
nommer 1) tot by die einde van die skikking uit. Om dit te doen skryf ons nie die derde
parameter nie:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Resultaat van die kode-uitvoering:
['b', 'c', 'd', 'e']
Voorbeeld
Kom ons sny elemente vanaf die voorlaaste een uit,
2 stuks. Om dit te doen stel ons die tweede parameter
in op -2 (posisie van die voorlaaste
element):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Resultaat van die kode-uitvoering:
['d', 'e']
Voorbeeld
Standaard behou die skikking nie sleutels tydens uitsny nie:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultaat van die kode-uitvoering:
['a', 'b', 'c']
Voorbeeld
Kom ons maak dit so dat sleutels behou word. Om dit te doen stel ons die laaste parameter in as true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Resultaat van die kode-uitvoering:
[1 => 'a', 2 => 'b', 3 => 'c']
Voorbeeld
Stringsleutels word behou tydens uitsny:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultaat van die kode-uitvoering:
['a' => 1, 'b' => 2, 'c' => 3]
Sien ook
-
die funksie
array_splice,
wat 'n gedeelte van 'n skikking afsny en die skikking self verander