Funkcija array_slice

Funkcija array_slice odseca i vraća deo niza. Pritom sam niz se ne menja. Prvim parametrom se označava niz za sečenje. Drugim parametrom se označava, sa kog elementa počinje odsecanje, a trećim - koliko elemenata odseći. Drugi parametar može biti negativan - u tom slučaju odbrojavanje počinje od kraja (-1 - poslednji element, -2 - predposlednji i tako dalje). Treći parametar može uopšte da se ne označi - u tom slučaju niz će biti odsečen do samog kraja.

Poslednji neobavezni parametar reguliše da li sačuvati ključeve pri odsecanju, true - sačuvati, false (podrazumevano) - ne sačuvati. String ključevi se uvek čuvaju, nezavisno od vrednosti ovog parametra.

Sintaksa

phparray_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array

Primer

Hajde da isečemo elemente od prvog (ima broj 0), 3 komada:

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

Rezultat izvršavanja koda:

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

Primer

Hajde da isečemo elemente od drugog (ima broj 1), 3 komada:

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

Rezultat izvršavanja koda:

php['b', 'c', 'd']

Primer

Hajde da isečemo elemente od drugog (ima broj 1) do kraja niza. Za ovo treći parametar ne pišemo:

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

Rezultat izvršavanja koda:

php['b', 'c', 'd', 'e']

Primer

Hajde da isečemo elemente od predposlednjeg, 2 komada. Za ovo drugi parametar postavimo u -2 (pozicija predposlednjeg elementa):

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

Rezultat izvršavanja koda:

php['d', 'e']

Primer

Podrazumevano niz ne čuva ključeve pri isecanju:

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

Rezultat izvršavanja koda:

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

Primer

Hajde da učinimo da se ključevi sačuvaju. Za ovo poslednji parametar postavimo kao true:

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

Rezultat izvršavanja koda:

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

Primer

String ključevi se čuvaju pri isecanju:

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

Rezultat izvršavanja koda:

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

Pogledajte takođe

  • funkciju array_splice,
    koja odseca deo niza, menjajući pritom sam niz