Funcția array_slice
Funcția array_slice taie și returnează
o parte dintr-un array. Array-ul în sine nu se modifică.
Primul parametru specifică array-ul care va fi
tăiat. Al doilea parametru specifică
de la ce element să înceapă tăierea, iar al treilea
- câte elemente să taie. Al doilea parametru
poate fi negativ - în acest caz
numărătoarea va începe de la sfârșit (-1 - ultimul element,
-2 - penultimul și așa mai departe). Al treilea parametru
poate fi omis - în acest caz
array-ul va fi tăiat până la sfârșit.
Ultimul parametru opțional reglează
dacă să păstreze cheile la tăiere, true -
păstrează, false (implicit) - nu păstrează.
Cheile de tip string sunt păstrate, indiferent de
valoarea acestui parametru.
Sintaxă
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Exemplu
Să tăiem elementele de la primul (are
numărul 0), 3 bucăți:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Rezultatul executării codului:
['a', 'b', 'c']
Exemplu
Să tăiem elementele de la al doilea (are
numărul 1), 3 bucăți:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Rezultatul executării codului:
['b', 'c', 'd']
Exemplu
Să tăiem elementele de la al doilea (are
numărul 1) până la sfârșitul array-ului. Pentru asta al treilea
parametru nu îl scriem:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Rezultatul executării codului:
['b', 'c', 'd', 'e']
Exemplu
Să tăiem elementele de la penultimul,
2 bucăți. Pentru asta al doilea parametru
îl setăm la -2 (poziția penultimului
element):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Rezultatul executării codului:
['d', 'e']
Exemplu
Implicit array-ul nu păstrează cheile la tăiere:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Rezultatul executării codului:
['a', 'b', 'c']
Exemplu
Să facem astfel încât cheile să fie păstrate. Pentru asta ultimul parametru îl setăm ca true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Rezultatul executării codului:
[1 => 'a', 2 => 'b', 3 => 'c']
Exemplu
Cheile de tip string sunt păstrate la tăiere:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Rezultatul executării codului:
['a' => 1, 'b' => 2, 'c' => 3]
Vedeți și
-
funcția
array_splice,
care taie o parte dintr-un array, modificând array-ul în sine