array_splice() remove a sequência de elementos do array input especificados por offset e length, e os substitui com os elementos do array replacement, se for especificado. Retorna um array contendo os elementos removidos.
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 serã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á dessa 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 são 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:
Tabela 1. Equivalências de array_splice()
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, -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.
Veja também array_slice(), unset() e array_merge().