Funkcia array_splice
Funkcia array_splice odreže a vráti
časť poľa. Pri tom odrezaná časť
zmizne z poľa. Namiesto odrezanej časti
je možné vkladať nové prvky.
Prvým parametrom sa uvádza pole pre rezanie. Druhým parametrom sa uvádza, od ktorého prvku začať rezanie, a tretím - koľko prvkov odrezať. Tretí parameter môže byť záporný - v tomto prípade začne odpočítavanie od konca (-1 - posledný prvok, -2 - predposledný atď.). Tretí parameter je možné vôbec neuvádzať - v tomto prípade pole sa odreže až do samého konca.
V poslednom voliteľnom parametri je možné zadať pole prvkov, ktoré budú vložené namiesto odstránených.
Syntax
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Príklad
Vyrežme prvky od prvého (má
číslo 0), 3 kusy:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Výsledok vykonania kódu:
['a', 'b', 'c']
Pri tom pole $arr bude vyzerať takto:
['d', 'e']
Príklad
Vyrežme prvky od druhého (má
číslo 1), 3 kusy:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Výsledok vykonania kódu:
['b', 'c', 'd']
Pri tom pole $arr bude vyzerať takto:
['a', 'e']
Príklad
Vyrežme prvky od druhého (má číslo 1) do konca poľa. Na to tretí parameter nepíšeme:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Výsledok vykonania kódu:
['b', 'c', 'd', 'e']
Pri tom pole $arr bude vyzerať takto:
['a']
Príklad
Vyrežme prvky od predposledného,
2 kusy. Na to druhý parameter
nastavíme na -2 (pozícia predposledného
prvku):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Výsledok vykonania kódu:
['d', 'e']
Pri tom pole $arr bude vyzerať takto:
['a', 'b', 'c']
Príklad
Vyrežme prvky od druhého (má
číslo 1), 2 kusy, a na výmenu vložme
prvky 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Výsledok vykonania kódu:
['b', 'c']
Pri tom pole $arr bude vyzerať takto:
['a', 1, 2, 3, 'd', 'e']
Príklad
Vôbec nič nevyrezávajme,
a jednoducho vložme prvky 1, 2,
3 začínajúc od pozície 1. Na to
tretí parameter sa nastaví na nulu:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Výsledok vykonania kódu:
[]
Pri tom pole $arr bude vyzerať takto:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Pozri tiež
-
funkciu
array_slice,
ktorá odreže časť poľa, pričom nemení samotné pole