(PHP 4, PHP 5, PHP 7)
array_splice — Remove uma parcela do array e substitui com outros elementos
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 ounull
replacement
.
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.
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.
Retorna o array consistindo de elementos extraídos.
Exemplo #1 Exemplos da 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");
?>
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($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; // for arrays where key equals offset
array_splice($input, $x, 1, $y);
?>