array_splice
(PHP 4, PHP 5)
array_splice — Remove uma parcela do array e substitui com outros elementos
Descrição
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:
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.
Example#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().