array_splice

(PHP 4, PHP 5, PHP 7)

array_spliceRemove uma parcela do array e substitui com outros elementos

Descrição

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

Remove a sequência de elementos especificados por offset e length do array input, e os substitui com os elementos do array replacement, se for especificado.

Note que as chaves numéricas em input não são preservadas.

Nota: Se replacement não for um array, ele será convertido para um array (i.e. (array) $parameter). Isso pode resultar em um comportamento inesperado quando usando um objeto ou null replacement.

Parâmetros

input

O array de entrada.

offset

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.

length

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á a quantidade de elementos a partir do final do array.

Se length for especificado e for zero nenhum elemento será removido.

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.

replacement

Se o array replacement for especificado, então os elementos removidos serão substituidos pelo elementos desse array.

Se offset e length informados resultam em nada a remover, então os elementos do array replacement será incluído no lugar especificado por offset.

Nota:

As chaves em replacement não são preservadas.

Se replacement 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.

Valor Retornado

Retorna o array consistindo de elementos extraídos.

Exemplos

Exemplo #1 Exemplos da array_splice()

<?php
$input 
= array("vermelho""verde""azul""amarelo");
array_splice($input2);
// $input será agora array("vermelho", "verde")

$input = array("vermelho""verde""azul""amarelo");
array_splice($input1, -1);
// $input será agora array("vermelho", "amarelo")

$input = array("vermelho""verde""azul""amarelo");
array_splice($input1count($input), "laranja");
// $input será agora array("vermelho", "laranja")

$input = array("vermelho""verde""azul""amarelo");
array_splice($input, -11, array("preto""marrom"));
// $input será agora array("vermelho", "verde", "azul", "preto", "marrom")
$input = array("vermelho""verde""azul""amarelo");
array_splice($input30"roxo");
// A array $input agora é ("vermelho", "verde",
//          "azul", "roxo", "amarelo");

?>

Exemplo #2 Exemplos da array_splice()

Os seguintes comandos modificam os valores de $input da mesma forma:

<?php
array_push
($input$x$y);
array_splice($inputcount($input), 0, array($x$y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input01);
array_unshift($input$x$y);
array_splice($input00, array($x$y));
$input[$x] = $y// for arrays where key equals offset
array_splice($input$x1$y);
?>

Veja Também