array_splice funksiyasi
array_splice funksiyasi massivning bir qismini
kesadi va qaytaradi. Bunda kesilgan qism
massivdan yo'qoladi. Kesilgan qism o'rniga
yangi elementlarni kiritish mumkin.
Birinchi parametr sifatida kesiladigan massiv ko'rsatiladi. Ikkinchi parametrda qaysi elementdan kesishni boshlash, uchinchisida esa nechta element kesish ko'rsatiladi. Uchinchi parametr manfiy bo'lishi mumkin - bu holda hisob oxirdan boshlanadi (-1 - oxirgi element, -2 - oxirgidan oldingi va hokazo). Uchinchi parametrni umuman ko'rsatmaslik mumkin - bu holda massiv oxirigacha kesiladi.
Oxirgi ixtiyoriy parametrda o'chirilganlar o'rniga qo'yiladigan elementlar massivini belgilash mumkin.
Sintaksis
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Misol
Keling, birinchi (0 raqamli) elementdan,
3 tasini kesib olaylik:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Kodni bajarish natijasi:
['a', 'b', 'c']
Bunda $arr massivi quyidagicha ko'rinadi:
['d', 'e']
Misol
Keling, ikkinchi (1 raqamli) elementdan,
3 tasini kesib olaylik:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Kodni bajarish natijasi:
['b', 'c', 'd']
Bunda $arr massivi quyidagicha ko'rinadi:
['a', 'e']
Misol
Keling, ikkinchi (1 raqamli) elementdan massiv oxirigacha kesib olaylik. Buning uchun uchinchi parametrni yozmaymiz:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Kodni bajarish natijasi:
['b', 'c', 'd', 'e']
Bunda $arr massivi quyidagicha ko'rinadi:
['a']
Misol
Keling, oxirgidan oldingi elementdan,
2 tasini kesib olaylik. Buning uchun ikkinchi parametr
-2 ga (oxirgidan oldingi elementning
o'rni) o'rnatiladi:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Kodni bajarish natijasi:
['d', 'e']
Bunda $arr massivi quyidagicha ko'rinadi:
['a', 'b', 'c']
Misol
Keling, ikkinchi (1 raqamli) elementdan,
2 tasini kesib olaylik, va ularning o'rniga
1, 2, 3 elementlarini joylashtiramiz:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Kodni bajarish natijasi:
['b', 'c']
Bunda $arr massivi quyidagicha ko'rinadi:
['a', 1, 2, 3, 'd', 'e']
Misol
Keling, umuman hech narsa kesmaylik,
va shunchaki 1, 2,
3 elementlarini 1 pozitsiyasidan boshlab joylashtiramiz. Buning
uchun uchinchi parametr nolga o'rnatiladi:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Kodni bajarish natijasi:
[]
Bunda $arr massivi quyidagicha ko'rinadi:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Shuningdek qarang
-
array_slicefunksiyasi,
bu massivning bir qismini kesadi, lekin massivning o'zini o'zgartirmaydi