Forum und email

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:

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.

Example#1 Exemplos de 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");

?>

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