array_splice funksiýasy
array_splice funksiýasy massiw bölegini kesip aýyrýar we
yzyna gaýtarýar. Şol prosesde kesilen bölek
massiwden ýok bolýar. Kesilen bölek ornuna
täze elementler goşup bolýar.
Birinji parametr hökmünde kesilmeli massiw görkezilýär. Ikinji parametr haýsy elementden kesip başlamalykdygyny görkezýär, üçünjisi bolsa naçe element kesip almalydygyny görkezýär. Üçünji parametr terisi bolup bilýär - bu ýagdaýda sanama soňundan başlanar (-1 - iň soňky element, -2 - soňkyndan öňki we ş.m.). Üçünji parametri umuman görkezip bolmaýar - bu ýagdaýda massiw iň soňuna çenli kesiler.
Iň soňky hökmany däl parametrde öçürilenleriň ornuna goýular elementleriň massiwi görkezip bolýar.
Sintaksis
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Mysal
Geliň birinji (nomeri 0), 3 sany
elementi kesip aýyralyň:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Kody ýerine ýetirmek netijesi:
['a', 'b', 'c']
Bu ýagdaýda $arr massiw şeýle görüner:
['d', 'e']
Mysal
Geliň ikinji (nomeri 1), 3 sany
elementi kesip aýyralyň:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Kody ýerine ýetirmek netijesi:
['b', 'c', 'd']
Bu ýagdaýda $arr massiw şeýle görüner:
['a', 'e']
Mysal
Geliň ikinjiden (nomeri 1) massiw iň soňuna çenli elementleri kesip aýyralyň. Bunuň üçin üçünji parametri ýazmaýarys:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Kody ýerine ýetirmek netijesi:
['b', 'c', 'd', 'e']
Bu ýagdaýda $arr massiw şeýle görüner:
['a']
Mysal
Geliň soňkyndan öňkisinden, 2 sany
elementi kesip aýyralyň. Bunuň üçin ikinji parametri
-2 (soňkyndan öňki element pozisiýasy)
dek belgileris:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Kody ýerine ýetirmek netijesi:
['d', 'e']
Bu ýagdaýda $arr massiw şeýle görüner:
['a', 'b', 'c']
Mysal
Geliň ikinjiden (nomeri 1), 2 sany
elementi kesip aýyralyň, ýerine bolsa
1, 2, 3 elementlerini goýalyň:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Kody ýerine ýetirmek netijesi:
['b', 'c']
Bu ýagdaýda $arr massiw şeýle görüner:
['a', 1, 2, 3, 'd', 'e']
Mysal
Geliň esasan hiç zady kesip aýyrmaly däl,
diňe 1, 2, 3 elementlerini
1 pozisiýasyndan başlap goýalyň. Bunuň
üçin üçünji parametr nola deňlenýär:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Kody ýerine ýetirmek netijesi:
[]
Bu ýagdaýda $arr massiw şeýle görüner:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Şeýle-de görmeli
-
array_slicefunksiýasy,
şol bir massiw bölegini kesip aýyrýar, ýöne massiw özüni üýtgetmeýär