Funkcija array_splice
Funkcija array_splice odseca i vraća
deo niza. Pritim odsečeni deo
nestaje iz niza. Umesto odsečenog dela
se mogu umetati novi elementi.
Prvim parametrom se zadaje niz za sečenje. Drugim parametrom se zadaje, od kog elementa početi odsecanje, a trećim - koliko elemenata odseći. Treći parametar može biti negativan - u ovom slučaju odbrojavanje će početi od kraja (-1 - poslednji element, -2 - pretposlednji i tako dalje). Treći parametar se uopšte može izostaviti - u ovom slučaju se niz seče do samog kraja.
U poslednjem, opcionom parametru se mogu zadati niz elemenata koji će biti umetnuti umesto uklonjenih.
Sintaksa
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Primer
Hajde da isečemo elemente od prvog (ima
broj 0), 3 komada:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Rezultat izvršavanja koda:
['a', 'b', 'c']
Pritim će niz $arr izgledati ovako:
['d', 'e']
Primer
Hajde da isečemo elemente od drugog (ima
broj 1), 3 komada:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Rezultat izvršavanja koda:
['b', 'c', 'd']
Pritim će niz $arr izgledati ovako:
['a', 'e']
Primer
Hajde da isečemo elemente od drugog (ima broj 1) do kraja niza. Za ovo treći parametar ne upisujemo:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Rezultat izvršavanja koda:
['b', 'c', 'd', 'e']
Pritim će niz $arr izgledati ovako:
['a']
Primer
Hajde da isečemo elemente od pretposlednjeg,
2 komada. Za ovo drugi parametar
postavljamo na -2 (pozicija pretposlednjeg
elementa):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Rezultat izvršavanja koda:
['d', 'e']
Pritim će niz $arr izgledati ovako:
['a', 'b', 'c']
Primer
Hajde da isečemo elemente od drugog (ima
broj 1), 2 komada, a umesto toga umetnemo
elemente 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Rezultat izvršavanja koda:
['b', 'c']
Pritim će niz $arr izgledati ovako:
['a', 1, 2, 3, 'd', 'e']
Primer
Hajde da uopšte ništa ne isecamo,
a samo umetnemo elemente 1, 2,
3 počev od pozicije 1. Za
ovo treći parametar postavljamo na nulu:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Rezultat izvršavanja koda:
[]
Pritim će niz $arr izgledati ovako:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Vidite takođe
-
funkciju
array_slice,
koja odseca deo niza, ne menjajući pritom sam niz