array_splice

(PHP 4 )

array_splice --  lecseréli a tömb egy részét

Leírás

array array_splice ( array input, int offset [, int length [, array replacement]])

Az array_splice() eltávolítja az input tömb offset és length paraméterek által meghatározott sorozatát, és helyébe - ha meg van adva - a replacement tömböt illeszti. Az eltávolított elemek tömbjével tér vissza.

Pozitív offset esetén, a törlendő elemsorozat ennyiedik sorszámú elemtől kezdődik, negatív offset esetén az array tömb végétől visszafelé számolva ennyiedik elemtől kezdődik.

Ha nincs megadva a length, akkor az offset által meghatározott ponttól kezdve a tömb végéig minden elemet eltávolít. Ha a length meg van adva és pozitív, akkor ennyi darab elem kerül törlésre. Negatív length esetén az array tömb végétől visszafelé ennyiedik elemig törlődik minden. Jótanácsként: ha a tömb végéig kell mindent lecserélni a replacement-re, akkor a count($input)-ot kell a length paraméterben megadni.

Ha a replacement tömb is meg van adva, akkor a törölt elemek helyére ennek a tömbnek az elemei kerülnek. Ha offset és length alapján nem történt törlés, akkor a replacement elemei az offset által mutatott helyre kerülnek beillesztésre. Jótanácsként: ha a replacement egyelemű, akkor nem szükséges array()-t használni, kivéve ha ez az egy elem maga is tömb kell legyen.

A következők egyenértékűek:
array_push ($bemenet, $x, $y)     array_splice ($bemenet, count ($bemenet), 0, array ($x, $y))
array_pop ($bemenet)              array_splice ($bemenet, -1)
array_shift ($bemenet)            array_splice ($bemenet, 0, 1)
array_unshift ($bemenet, $x, $y)  array_splice ($bemenet, 0, 0, array ($x, $y))
$a[$x] = $y                       array_splice ($bemenet, $x, 1, $y)

A törölt elemek tömbjével tér vissza a függvény.

Példa 1. array_splice() példák

$bemenet = array ("piros", "zöld", "kék", "sárga");
array_splice ($bemenet, 2);
// $bemenet most: array ("piros", "zöld")

$bemenet = array ("piros", "zöld", "kék", "sárga");
array_splice ($bemenet, 1, -1);
// $bemenet most: array ("piros", "sárga")

$bemenet = array ("piros", "zöld", "kék", "sárga");
array_splice ($bemenet, 1, count($bemenet), "narancs");
// $bemenet most:  array ("piros", "narancs")

$bemenet = array ("piros", "zöld", "kék", "sárga");
array_splice ($bemenet, -1, 1, array("fekete", "gesztenye"));
// $bemenet most:  array ("piros", "zöld", "kék", "fekete", "gesztenye")

Lásd még: array_slice()!