ფუნქცია 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,
რომელიც ამოჭრის მასივის ნაწილს, არ ცვლის თავად მასივს