array_splice

(PHP 4 )

array_splice --  Remove uma região do array e substitui por outros elementos

Descrição

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

array_splice() remove os elementos especificados por offset e length do array input, e os substitui com os elementos do array replacement, se for especificado.

Se offset for positivo então o começo da região a ser removida será nessa posição a partir do início do array input. Se offset for negativo então o ínicio será dessa distância do final de input.

Se length for omitido, todos os elementos a partir de offset até o final do array são removidos. Se length for especificado e positivo, então essa quantidade de elementos será removida. Se length for especificado e negativo então o final da região a ser removida será nessa quantidade de elementos a partir do final do array. Dica: para remover todos elementos a partir de offset até o final do array quando replacement também é especificado, use count($input) para o argumento length.

Se o array replacement for especificado, então os elementos removidos serão substituidos pelo elementos desse array. Se offset e length dados de forma que nada será removido, então os elementos de replacement serão inseridos no lugar especificado por offset. Dica: se a substituição for de apenas um elemento então não será necessário colocar array() para ele, a não ser que elementos seja um array.

As seguintes equivalências abaixo são válidas:
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)

Retorna um array contendo os elementos removidos.

Exemplo 1. Exemplos de array_splice()

$input = array ("vermelho", "verde", "azul", "amarelo");
array_splice ($input, 2);      
// $input será agora array ("vermelho", "verde")

$input = array ("vermelho", "verde", "azul", "amarelo");
array_splice ($input, 1, -1);  
// $input será agora array ("vermelho", "amarelo")

$input = array ("vermelho", "verde", "azul", "amarelo");
array_splice ($input, 1, count($input), "laranja");  
// $input será agora array ("vermelho", "laranja")

$input = array ("vermelho", "verde", "azul", "amarelo");
array_splice ($input, -1, 1, array("preto", "marrom")); 
// $input será agora array ("vermelho", "verde", "azul", "preto", "marron")

Veja também array_slice().