array_splice
(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice — Remove uma parte array e a substitui por outra coisa
Descrição
Remove os elementos especificados por offset
e
length
do array array
,
e os substitui com os elementos do
array replacement
, se for especificado.
Note:
Chaves numéricas em
array
não são preservadas.
Note: Se
replacement
não for um array, ele será convertido para um array (i.e.(array) $replacement
). Isso pode resultar em um comportamento inesperado ao usar um objeto oureplacement
null
.
Parâmetros
array
-
O array de entrada.
offset
-
Se
offset
for positivo então o começo da região removida será nesse deslocamento a partir do início do arrayarray
.Se
offset
for negativo então o começo da região removida será nesse deslocamento a partir do final do arrayarray
. length
-
Se
length
for omitido, remove tudo a partir deoffset
até o final do array.Se
length
for especificado e for positivo, então essa quantidade de elementos será removida.Se
length
for especificado e for negativo, então o final da região removida será essa quantidade de elementos a partir do final do array.Se
length
for especificado e for zero, nenhum elemento será removido.TipPara remover tudo a partir de
offset
até o final do array quandoreplacement
também é especificado, usecount($input)
paralength
. replacement
-
Se o array
replacement
for especificado, então os elementos removidos serão substituidos pelo elementos desse array.Se
offset
elength
são tais que nada é removido, então os elementos do arrayreplacement
serão inseridos no lugar especificado pelooffset
.Note:
Chaves em
replacement
não são preservadas.Se
replacement
for de apenas um elemento então não é necessário colocararray()
ou colchetes ao redor dele, a não ser que elementos seja um array em si, um objeto ounull
.
Valor Retornado
Retorna um array que consiste nos elementos extraídos.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
length agora é anulável.
|
Exemplos
Example #1 Exemplos da array_splice()
<?php
$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, 2);
var_dump($input);
$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, 1, -1);
var_dump($input);
$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, 1, count($input), "laranja");
var_dump($input);
$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, -1, 1, array("preto", "marrom"));
var_dump($input);
?>
O exemplo acima produzirá:
array(2) { [0]=> string(3) "vermelho" [1]=> string(5) "verde" } array(2) { [0]=> string(3) "vermelho" [1]=> string(6) "amarelo" } array(2) { [0]=> string(3) "vermelho" [1]=> string(6) "laranja" } array(5) { [0]=> string(3) "vermelho" [1]=> string(5) "verde" [2]=> string(4) "azul" [3]=> string(5) "preto" [4]=> string(6) "marrom" }
Example #2 Declarações equivalentes a vários exemplos da array_splice()
As seguintes declarações são equivalentes:
<?php
// adiciona dois elementos a $input
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
// remove o último elemento de $input
array_pop($input);
array_splice($input, -1);
// remove o primeiro elemento de $input
array_shift($input);
array_splice($input, 0, 1);
// insere um elemento no início de $input
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
// substitui o valor em $input no índice $x
$input[$x] = $y; // para arrays onde a chave é igual ao deslocamento
array_splice($input, $x, 1, $y);
?>
Veja Também
- array_merge() - Combina um ou mais arrays
- array_slice() - Extrai uma parcela de um array
- unset() - Remove a definição de uma variável informada