array_splice
(PHP 4, PHP 5)
array_splice — Lecseréli a tömb egy részét
LeÃrás
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. Megjegyzés: az input paraméterben szereplÅ‘ numerikus kulcsok incsenek levédve.
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. Fontos tudni, hogy a replacement tömb kulcsait a függvény nem tartja meg. Ha a replacement egy elemű, akkor nem szükséges array()-t használni, kivéve ha ez az egy elem maga is tömb kell legyen.
Az alábbi utasÃtások a $input étékét ugyanúgy módosÃtják:
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)) |
$bemenet[$x] = $y // olyan tömbök esetében ahol a kulcs egyenlő az elem sorszámával | array_splice($bemenet, $x, 1, $y) |
A törölt elemek tömbjével tér vissza a függvény.
Example#1 array_splice() példák
<?php
$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")
$bemenet = array("piros", "zöld", "kék", "sárga");
array_splice($bemenet, 3, 0, "lila");
// $input is now array("piros", "zöld",
// "kék", "lila", "sárga");
?>
?>
Lásd még az array_slice(), unset() és array_merge() függvényeket!