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.
Note que as chaves numéricas em input não são preservadas.
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. Note que as
chaves em replacement não são preservadas.
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.
Os seguintes comandos mudam os valores de $input
da mesma maneira:
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, 0, 1) |
| array_unshift($input, $x, $y) | array_splice($input, 0, 0, array($x, $y)) |
| $input[$x] = $y // para arrays aonde as chaves tem índices iguais | array_splice($input, $x, 1, $y) |
Retorna um array contendo os elementos removidos.
Veja também array_slice(), unset() e array_merge().