array_splice функциясы
array_splice функциясы массивдин бир бөлүгүн
кесип алып, кайтарат. Бул учурда кесилген бөлүк
массивден жоголот. Кесилген бөлүктүн ордуна
жаңы элементтерди киргизүүгө болот.
Биринчи параметр катары кесүү үчүн массив көрсөтүлөт. Экинчи параметр менен кайсы элементтен баштап кесүү керектиги, үчүнчүсү менен канча элементти кесүү керектиги көрсөтүлөт. Үчүнчү параметр терс сан болушу мүмкүн - бул учурда эсептөө аягынан башталат (-1 - акыркы элемент, -2 - акыркыдан мурунку жана ушул сыяктуу). Үчүнчү параметрди жалпы көрсөтпөөгө болот - бул учурда массив акырына чейин кесилет.
Акыркы милдеттүү эмес параметрде өчүрүлгөн элементтердин ордуна киргизиле турган элементтер массивин берүүгө болот.
Синтаксис
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Мисал
Биринчиден (номер 0), 3 дана элементти
кесип алалы:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Кодду иштетүүнүн натыйжасы:
['a', 'b', 'c']
Бул учурда $arr массиви төмөнкүдөй көрүнөт:
['d', 'e']
Мисал
Экинчиден (номер 1), 3 дана элементти
кесип алалы:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Кодду иштетүүнүн натыйжасы:
['b', 'c', 'd']
Бул учурда $arr массиви төмөнкүдөй көрүнөт:
['a', 'e']
Мисал
Экинчиден (номер 1) массивдин аягына чейин элементтерди кесип алалы. Бул үчүн үчүнчү параметрди жазбайбыз:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Кодду иштетүүнүн натыйжасы:
['b', 'c', 'd', 'e']
Бул учурда $arr массиви төмөнкүдөй көрүнөт:
['a']
Мисал
Акыркыдан мурункудан баштап, 2 дана элементти
кесип алалы. Бул үчүн экинчи параметрди
-2 (акыркыдан мурунку элементтин
позициясы) деп белгилейбиз:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Кодду иштетүүнүн натыйжасы:
['d', 'e']
Бул учурда $arr массиви төмөнкүдөй көрүнөт:
['a', 'b', 'c']
Мисал
Экинчиден (номер 1), 2 дана элементти
кесип алып, алардын ордуна 1, 2, 3
элементтерин киргизели:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Кодду иштетүүнүн натыйжасы:
['b', 'c']
Бул учурда $arr массиви төмөнкүдөй көрүнөт:
['a', 1, 2, 3, 'd', 'e']
Мисал
Эч нерсени кесип албай, жөн эле 1, 2,
3 элементтерин 1 позициясынан баштап
киргизели. Бул үчүн
үчүнчү параметрди нөлгө коёбуз:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Кодду иштетүүнүн натыйжасы:
[]
Бул учурда $arr массиви төмөнкүдөй көрүнөт:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Ошондой эле караңыз
-
array_sliceфункциясы,
массивди өзгөртпөй, анын бир бөлүгүн кесүү үчүн