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().