Funkcia array_slice
Funkcia array_slice odreže a vráti
časť poľa. Samotné pole sa pri tom nemení.
Prvým parametrom sa uvádza pole pre
rozdelenie. Druhým parametrom sa určuje,
od ktorého prvku začať odrezávanie, a tretím
- koľko prvkov odrezať. Druhý parameter
môže byť záporný - v tomto prípade
sa počítanie začína od konca (-1 - posledný prvok,
-2 - predposledný a tak ďalej). Tretí parameter
sa nemusí uvádzať vôbec - v tomto prípade
sa pole odreže až do samého konca.
Posledný voliteľný parameter reguluje,
či zachovať kľúče pri odrezávaní, true -
zachovať, false (predvolené) - nezachovať.
Reťazcové kľúče sa zachovávajú, nezávisle od
hodnoty tohto parametra.
Syntax
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Príklad
Vyrežme prvky od prvého (má
číslo 0), 3 kusy:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Výsledok vykonania kódu:
['a', 'b', 'c']
Príklad
Vyrež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ýsledok vykonania kódu:
['b', 'c', 'd']
Príklad
Vyrežme prvky od druhého (má
číslo 1) až do konca poľa. Na to tretí
parameter nepíšeme:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Výsledok vykonania kódu:
['b', 'c', 'd', 'e']
Príklad
Vyrežme prvky od predposledného,
2 kusy. Na to druhý parameter
nastavíme na -2 (pozícia predposledného
prvku):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Výsledok vykonania kódu:
['d', 'e']
Príklad
Predvolene pole nezachováva kľúče pri výrezbe:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Výsledok vykonania kódu:
['a', 'b', 'c']
Príklad
Nastavme, aby sa kľúče zachovali. Na to posledný parameter nastavíme ako true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Výsledok vykonania kódu:
[1 => 'a', 2 => 'b', 3 => 'c']
Príklad
Reťazcové kľúče sa pri výrezbe zachovávajú:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Výsledok vykonania kódu:
['a' => 1, 'b' => 2, 'c' => 3]
Pozri tiež
-
funkciu
array_splice,
ktorá odreže časť poľa, pričom mení samotné pole