Функција array_slice

Функција array_slice одсеца и враћа део низа. При том сам низ се не мења. Првим параметром се наводи низ за сечење. Другим параметром се наводи, од ког елемента почети одсецање, а трећим - колико елемената одсећи. Други параметар може бити негативан - у том случају бројање ће почети од краја (-1 - последњи елемент, -2 - претпоследњи и тако даље). Трећи параметар се уопште може не наводити - у том случају низ ће бити одсечен до самог краја.

Последњи необавезни параметар регулише да ли чувати кључеве при одсецању, true - чувати, false (подразумевано) - не чувати. Стринговски кључеви се чувају, независно од вредности овог параметра.

Синтакса

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

Пример

Хајде да исечемо елементе од првог (има број 0), 3 комада:

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

Резултат извршавања кода:

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

Пример

Хајде да исечемо елементе од другог (има број 1), 3 комада:

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

Резултат извршавања кода:

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

Пример

Хајде да исечемо елементе од другог (има број 1) до краја низа. За то трећи параметар не пишемо:

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

Резултат извршавања кода:

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

Пример

Хајде да исечемо елементе од претпоследњег, 2 комада. За то други параметар поставимо на -2 (позиција претпоследњег елемента):

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

Резултат извршавања кода:

php['d', 'e']

Пример

Подразумевано низ не чува кључеве при исецању:

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

Резултат извршавања кода:

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

Пример

Хајде да учинимо да се кључеви чувају. За то последњи параметар поставимо као true:

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

Резултат извршавања кода:

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

Пример

Стринговски кључеви се чувају при исецању:

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

Резултат извршавања кода:

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

Види још

  • функцију array_splice,
    која одсеца део низа, мењајући при том сам низ