Funkcija array_splice
Funkcija array_splice odreže in vrne
del tabele. Pri tem odrezani del
izgine iz tabele. Namesto odrezanega dela
je mogoče vstaviti nove elemente.
Kot prvi parameter se določi tabela za rezanje. Kot drugi parameter se določi, s katerega elementa začeti odrezovanje, tretji parameter pa določa, koliko elementov odrezati. Tretji parameter je lahko negativen - v tem primeru se bo štetje začelo od konca (-1 - zadnji element, -2 - predzadnji in tako naprej). Tretji parameter je mogoče sploh izpustiti - v tem primeru se bo tabela odrezala do samega konca.
V zadnjem neobveznem parametru je mogoče določiti tabelo elementov, ki bodo vstavljeni namesto odstranjenih.
Sintaksa
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Primer
Izrežimo elemente od prvega (ima
številko 0), 3 kose:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Rezultat izvajanja kode:
['a', 'b', 'c']
Medtem bo tabela $arr videti takole:
['d', 'e']
Primer
Izrežimo elemente od drugega (ima
številko 1), 3 kose:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Rezultat izvajanja kode:
['b', 'c', 'd']
Medtem bo tabela $arr videti takole:
['a', 'e']
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_splice($arr, 1);
var_dump($res);
?>
Rezultat izvajanja kode:
['b', 'c', 'd', 'e']
Medtem bo tabela $arr videti takole:
['a']
Primer
Izrežimo elemente od predzadnjega,
2 kosa. Za to drugi parameter
nastavimo na -2 (položaj predzadnjega
elementa):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Rezultat izvajanja kode:
['d', 'e']
Medtem bo tabela $arr videti takole:
['a', 'b', 'c']
Primer
Izrežimo elemente od drugega (ima
številko 1), 2 kosa, in namesto njih vstavimo
elemente 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Rezultat izvajanja kode:
['b', 'c']
Medtem bo tabela $arr videti takole:
['a', 1, 2, 3, 'd', 'e']
Primer
Ničesar ne izrežimo,
ampak preprosto vstavimo elemente 1, 2,
3 začenši s položaja 1. Za
to se tretji parameter nastavi na nič:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Rezultat izvajanja kode:
[]
Medtem bo tabela $arr videti takole:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Glejte tudi
-
funkcijo
array_slice,
ki odreže del tabele, ne da bi pri tem spremenila samo tabelo