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

phparray_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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Výsledok vykonania kódu:

php['a', 'b', 'c']

Príklad

Vyrežme prvky od druhého (má číslo 1), 3 kusy:

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1, 3);
  var_dump($res);
?>

Výsledok vykonania kódu:

php['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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1);
  var_dump($res);
?>

Výsledok vykonania kódu:

php['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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, -2, 2);
  var_dump($res);
?>

Výsledok vykonania kódu:

php['d', 'e']

Príklad

Predvolene pole nezachováva kľúče pri výrezbe:

php<?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:

php['a', 'b', 'c']

Príklad

Nastavme, aby sa kľúče zachovali. Na to posledný parameter nastavíme ako true:

php<?php
  $arr = [1 => 'a', 2 => 'b', 3 => 'c'];
  
  $res = array_slice($arr, 0, 3, true);
  var_dump($res);
?>

Výsledok vykonania kódu:

php[1 => 'a', 2 => 'b', 3 => 'c']

Príklad

Reťazcové kľúče sa pri výrezbe zachovávajú:

php<?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:

php['a' => 1, 'b' => 2, 'c' => 3]

Pozri tiež

  • funkciu array_splice,
    ktorá odreže časť poľa, pričom mení samotné pole