(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 é um array, ele terá o tipo convertido para um array (i.e.(array) $parameter
). Isto pode resultar em um comportamento inesperado quando usando um objeto emreplacement
.
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á
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
.
replacement
Se o array replacement
for especificado, então
os elementos removidos serão substituidos pelo elementos desse array.
If offset
and length
are such that nothing is removed, then the elements from the
replacement
array are inserted in the place
specified by the offset
. Note that keys in
replacement array are not preserved.
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);
?>