Funkcija array_slice
Funkcija array_slice odreže in vrne
del tabele. Pri tem se sama tabela ne spremeni.
Prvi parameter določa tabelo za
rezanje. Drugi parameter določa,
od katerega elementa začeti z rezanjem, tretji pa
- koliko elementov odrezati. Drugi parameter
je lahko negativen - v tem primeru
se bo štetje začelo od konca (-1 - zadnji element,
-2 - predzadnji in tako naprej). Tretji parameter
lahko povsem izpustimo - v tem primeru
se bo tabela odrezala do samega konca.
Zadnji neobvezni parameter določa
ali naj se ključi ob ohranijo pri rezanju, true -
ohraniti, false (privzeto) - ne ohraniti.
Nizni ključi se ohranijo, neodvisno od
vrednosti tega parametra.
Sintaksa
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Primer
Izrežimo elemente od prvega (ima
številko 0), 3 kosov:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Rezultat izvajanja kode:
['a', 'b', 'c']
Primer
Izrežimo elemente od drugega (ima
številko 1), 3 kosov:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Rezultat izvajanja kode:
['b', 'c', 'd']
Primer
Izrežimo elemente od drugega (ima
številko 1) do konca tabele. Za to tretji
parameter ne napišemo:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Rezultat izvajanja kode:
['b', 'c', 'd', 'e']
Primer
Izrežimo elemente od predzadnjega,
2 kosov. Za to drugi parameter
nastavimo na -2 (položaj predzadnjega
elementa):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Rezultat izvajanja kode:
['d', 'e']
Primer
Privzeto tabela ne ohrani ključev pri izrezovanju:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Rezultat izvajanja kode:
['a', 'b', 'c']
Primer
Naredimo tako, da se ključi ohranijo. Za to zadnji parameter nastavimo na true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Rezultat izvajanja kode:
[1 => 'a', 2 => 'b', 3 => 'c']
Primer
Nizni ključi se ohranijo pri izrezovanju:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Rezultat izvajanja kode:
['a' => 1, 'b' => 2, 'c' => 3]
Glejte tudi
-
funkcijo
array_splice,
ki odreže del tabele, pri tem pa spremeni samo tabelo