Funcția array_splice
Funcția array_splice taie și returnează
o parte a unui array. În acest caz, partea tăiată
dispare din array. În locul părții tăiate
pot fi inserate elemente noi.
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ă fie tăiate. Al treilea 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 totalitate - în acest caz array-ul va fi tăiat până la sfârșit.
În ultimul parametru opțional se poate specifica un array de elemente care vor fi inserate în locul celor șterse.
Sintaxă
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): 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_splice($arr, 0, 3);
var_dump($res);
?>
Rezultatul executării codului:
['a', 'b', 'c']
În acest caz, array-ul $arr va arăta astfel:
['d', 'e']
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_splice($arr, 1, 3);
var_dump($res);
?>
Rezultatul executării codului:
['b', 'c', 'd']
În acest caz, array-ul $arr va arăta astfel:
['a', 'e']
Exemplu
Să tăiem elementele de la al doilea (are numărul 1) până la sfârșitul array-ului. Pentru aceasta, al treilea parametru nu îl scriem:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Rezultatul executării codului:
['b', 'c', 'd', 'e']
În acest caz, array-ul $arr va arăta astfel:
['a']
Exemplu
Să tăiem elementele de la penultimul,
2 bucăți. Pentru aceasta, al doilea parametru
îl setăm la -2 (poziția penultimului
element):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Rezultatul executării codului:
['d', 'e']
În acest caz, array-ul $arr va arăta astfel:
['a', 'b', 'c']
Exemplu
Să tăiem elementele de la al doilea (are
numărul 1), 2 bucăți, și în locul lor să inserăm
elementele 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Rezultatul executării codului:
['b', 'c']
În acest caz, array-ul $arr va arăta astfel:
['a', 1, 2, 3, 'd', 'e']
Exemplu
Să nu tăiem nimic,
ci doar să inserăm elementele 1, 2,
3 începând de la poziția 1. Pentru
aceasta, al treilea parametru este setat la zero:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Rezultatul executării codului:
[]
În acest caz, array-ul $arr va arăta astfel:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Vedeți și
-
funcția
array_slice,
care taie o parte dintr-un array, fără a modifica array-ul însuși