Forum und email
array_splice

array_splice

(PHP 4, PHP 5)

array_splice -- Odstranit část pole a nahradit ji něčím jiným

Popis

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

array_splice() odstraňuje prvky pole input určené argumenty offset a length, a případně je nahrazuje prvky volitelného argumentu (pole) replacement.

Pokud je offset kladný, tato odstraněná část začne offset položek od začátku array. Pokud je offset záporný, začne tolik položek od konce array.

Pokud vynecháte length, array_splice() odstraní všechno od offset do konce pole. Pokud je length kladná, odstraní se právě tolik prvků. Pokud je length záporná, konec odstraněné části bude právě tolik prvků od konce pole. Tip: k odstranění všech prvků od offset do konce pole při současně určeném argumentu replacement použijte jako length count($input).

Pokud zadáte replacement pole, odstraněné prvky se nahradí prvky tohoto pole. Pokud argumenty offset a length definovány tak, že se nic neodstraní, prvky pole replacement se vloží na místo určené argumentem offset. Tip: pokud je replacement jen jedna hodnota, není nutno ji umisťovat do array(), ledaže chcete, aby tato položka byla opravdu pole.

Následující volání jsou ekvivalentní:

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

Vrací pole odstraněných prvků.

Příklad 1. Ukázky array_splice()

$input = array ("red", "green", "blue", "yellow");

array_splice ($input, 2);      // $input is now array ("red", "green")
array_splice ($input, 1, -1);  // $input is now array ("red", "yellow")
array_splice ($input, 1, count($input), "orange");
                               // $input is now array ("red", "orange")
array_splice ($input, -1, 1, array("black", "maroon"));
                               // $input is now array ("red", "green",
                               //          "blue", "black", "maroon")

Viz také: array_slice().