Manual do PHP
Anterior |  | Próxima

# array_splice

(PHP 4, PHP 5)

array_splice -- Remove uma parcela do array e substitui com outros elementos

## Descrição

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

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.

Exemplo 1. Exemplos de array_splice()
`<?php $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", "marrom") $input = array("vermelho", "verde", "azul", "amarelo"); array_splice($input, 3, 0, "roxo"); // A array $input agora é ("vermelho", "verde", // "azul", "roxo", "amarelo"); ?>`

Veja também array_slice(), unset() e array_merge().

Anterior | Principal | Próxima
array_slice | Acima | array_sum