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 орнынан бастап
1, 2, 3 элементтерін кірістірейік. Бұл
үшін үшінші параметрді нөлге қоямыз:
<?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функциясы,
ол массивтің бір бөлігін кесіп алады, бірақ массивтің өзін өзгертпейді