Funkce array_slice
Funkce array_slice vyjme a vrátí
část pole. Samotné pole se přitom nemění.
Prvním parametrem je zadáno pole pro
výřez. Druhým parametrem je určeno,
od kterého prvku začít výřez, a třetím
- kolik prvků vyjmout. Druhý parametr
může být záporný - v tomto případě
se počítá od konce (-1 - poslední prvek,
-2 - předposlední atd.). Třetí parametr
lze zcela vynechat - v tomto případě
bude pole vyjmuto až do samého konce.
Poslední volitelný parametr reguluje,
zda zachovat klíče při výřezu, true -
zachovat, false (výchozí) - nezachovat.
Řetězcové klíče jsou zachovány, bez ohledu na
hodnotu tohoto parametru.
Syntaxe
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Příklad
Vyjměme prvky od prvního (má
číslo 0), 3 kusy:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Výsledek provedení kódu:
['a', 'b', 'c']
Příklad
Vyjměme prvky od druhého (má
číslo 1), 3 kusy:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Výsledek provedení kódu:
['b', 'c', 'd']
Příklad
Vyjměme prvky od druhého (má
číslo 1) až do konce pole. K tomu třetí
parametr nenapíšeme:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Výsledek provedení kódu:
['b', 'c', 'd', 'e']
Příklad
Vyjměme prvky od předposledního,
2 kusy. K tomu druhý parametr
nastavíme na -2 (pozice předposledního
prvku):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Výsledek provedení kódu:
['d', 'e']
Příklad
Ve výchozím nastavení pole nezachovává klíče při výřezu:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Výsledek provedení kódu:
['a', 'b', 'c']
Příklad
Nastavme, aby se klíče zachovaly. K tomu poslední parametr nastavíme jako true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Výsledek provedení kódu:
[1 => 'a', 2 => 'b', 3 => 'c']
Příklad
Řetězcové klíče se při výřezu zachovávají:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Výsledek provedení kódu:
['a' => 1, 'b' => 2, 'c' => 3]
Viz také
-
funkci
array_splice,
která vyjme část pole, přičemž mění samotné pole