Funkcija array_splice
Funkcija array_splice nogriež un atgriež
masīva daļu. Šajā procesā nogrieztā daļa
pazūd no masīva. Nogrieztās daļas vietā
var ievietot jaunus elementus.
Pirmā parametrā tiek norādīts masīvs sadalīšanai. Otrajā parametrā tiek norādīts, no kura elementa sākt nogriešanu, bet trešajā - cik elementus nogriezt. Trešais parametrs var būt negatīvs - šajā gadījumā skaitīšana sāksies no beigām (-1 - pēdējais elements, -2 - priekšpēdējais un tā tālāk). Trešo parametru var vispār nenorādīt - šajā gadījumā masīvs tiks nogriezts līdz pašām beigām.
Pēdējā neobligātajā parametrā var ierakstīt to elementu masīvu, kas tiks ievietoti noņemto vietā.
Sintakse
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Piemērs
Izgriezīsim elementus no pirmā (tā
numurs ir 0), 3 gabalus:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Koda izpildes rezultāts:
['a', 'b', 'c']
Šajā gadījumā masīvs $arr izskatīsies šādi:
['d', 'e']
Piemērs
Izgriezīsim elementus no otrā (tā
numurs ir 1), 3 gabalus:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Koda izpildes rezultāts:
['b', 'c', 'd']
Šajā gadījumā masīvs $arr izskatīsies šādi:
['a', 'e']
Piemērs
Izgriezīsim elementus no otrā (tā numurs ir 1) līdz masīva beigām. Lai to izdarītu, trešo parametru nerakstām:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Koda izpildes rezultāts:
['b', 'c', 'd', 'e']
Šajā gadījumā masīvs $arr izskatīsies šādi:
['a']
Piemērs
Izgriezīsim elementus no priekšpēdējā,
2 gabalus. Lai to izdarītu, otrais parametrs
jāiestata uz -2 (priekšpēdējā
elementa pozīcija):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Koda izpildes rezultāts:
['d', 'e']
Šajā gadījumā masīvs $arr izskatīsies šādi:
['a', 'b', 'c']
Piemērs
Izgriezīsim elementus no otrā (tā
numurs ir 1), 2 gabalus, un to vietā ievietosim
elementus 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Koda izpildes rezultāts:
['b', 'c']
Šajā gadījumā masīvs $arr izskatīsies šādi:
['a', 1, 2, 3, 'd', 'e']
Piemērs
Neizgriezīsim neko,
vienkārši ievietosim elementus 1, 2,
3 sākot no pozīcijas 1. Lai to
izdarītu, trešais parametrs tiek iestatīts uz nulli:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Koda izpildes rezultāts:
[]
Šajā gadījumā masīvs $arr izskatīsies šādi:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Skatiet arī
-
funkciju
array_slice,
kura nogriež masīva daļu, nemainot pašu masīvu