array_splice

(PHP 4 , PHP 5)

array_splice --  Odstrániť časť poľa a nahradiť ju niečim iným

Popis

array array_splice ( array vstup, int offset [, int dlzka [, array nahrada]])

array_splice() odstráňuje prvky určené pomocou offset a dlzka z poľa vstup a nahrádza ich prvkami poľa nahrada, ak sú určené. Vracia pole obsahujúce veňaté prvky.

Ak je offset kladný, potom začiatok odstránenej časti je offset položiek od začiatku poľa vstup. Ak je offset záporný, potom začína toľko položiek od konca poľa vstup.

Ak sa vynehá dlzka, odstráni sa všetko od offset po koniec poľa. Ak je dlzka určná a je kladná, tak sa odstráni toľko prvkov. Ak je dlzka určená a je záporná, koniec odstránenej časti bude toľko prvkov od konca poľa. Tip: na odstránenie všetkého od offset po koniec poľa ak je určená aj nahrada, použite count($vstup) pre dlzka.

Ak je určené pole nahrada, tak sú odstránené prvky nahradené prvkami z tohto poľa. Ak súoffset a dlzka také, že sa nič neodstraňuje, tak sú prvky z poľa nahrada vložené na miesto určené pomocou offset. Tip: ak je náhradou len jeden prvok, nie je nutné ho vložiť do array(), pokiaľ prvok samotný nie je poľom.

Následujúce volania sú ekvivalenté:

Tabuľka 1. array_splice() ekvivalenty

array_push($vstup, $x, $y) array_splice($vstup, count($vstup), 0, array($x, $y))
array_pop($vstup) array_splice($vstup, -1)
array_shift($vstup) array_splice($vstup, -1)
array_unshift($vstup, $x, $y) array_splice($vstup, 0, 0, array($x, $y))
$a[$x] = $y array_splice($vstup, $x, 1, $y)

Vracia pole pozostávajúce z odstránených prvkov.

Príklad 1. array_splice() príklad

<?php
$vstup
= array("cervena", "zelena", "modra", "zlta");
array_splice($vstup, 2);
// $vstup je teraz array("cervena", "zelena")

$vstup = array("cervena", "zelena", "modra", "zlta");
array_splice($vstup, 1, -1);
// $vstup je teraz array("cervena", "zlta")

$vstup = array("cervena", "zelena", "modra", "zlta");
array_splice($vstup, 1, count($vstup), "oranzova");
// $vstup je teraz array("cervena", "oranzova")

$vstup = array("cervena", "zelena", "modra", "zlta");
array_splice($vstup, -1, 1, array("cierna", "hneda"));
// $vstup je teraz array("cervena", "zelena",
//          "modra", "cierna", "hneda")

$vstup = array("cervena", "zelena", "modra", "zlta");
array_splice($vstup, 3, 0, "fialova");
// $vstup je teraz array("cervena", "zelena",
//          "modra", "fialova", "zlta")
?>

Tiež pozri array_slice(), unset() a array_merge().