Функција 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 почeвши од позиције 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,
која одсеца део низа, не мењајући притом сам низ