Função array_splice() do PHP
Exemplo
Remova elementos do array e substitua-os por novos elementos:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"purple","b"=>"orange"); array_splice($a1,0,2,$a2); print_r($a1); ?>
Definição e uso
A função array_splice() remove elementos do array e os substitui por novos elementos. Esta função também retornará um array contendo os elementos removidos.
Dica:Se a função não remover nenhum elemento (length=0), o elemento start Insira o array substituído na posição dos parâmetros (veja o exemplo 2).
Notas:Não mantém os nomes das chaves do array substituído.
Descrição
A função array_splice() é semelhante a array_slice() A função é semelhante, escolhe uma série de elementos do array, mas não os retorna, em vez disso, remove-os e os substitui por outros valores.
Se for fornecido um quarto parâmetro, os elementos selecionados anteriormente serão substituídos pelo array especificado pelo quarto parâmetro.
O array gerado será retornado no final.
Sintaxe
array_splice(array,start,length,array)
Parâmetros | Descrição |
---|---|
array | Obrigatório. Define o array. |
start |
Obrigatório. Número. Define a posição de início da remoção do elemento.
|
length |
Opcional. Número. Define o número de elementos a serem removidos, também é o comprimento do array retornado.
|
array |
Opcional. Define um array que contém os elementos a serem inseridos no array original. Se houver apenas um elemento, pode ser definido como uma string, não é necessário definir como um array. |
Detalhes técnicos
Retorno: | Retorna um array composto pelos elementos extraídos. |
Versão PHP: | 4+ |
Mais exemplos
Exemplo 1
Como o exemplo anterior na parte superior desta página, mas retorna o array de saída:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"purple","b"=>"orange"); print_r(array_splice($a1,0,2,$a2)); ?>
Exemplo 2
Definir o parâmetro length como 0:
<?php $a1=array("0"=>"red","1"=>"green"); $a2=array("0"=>"purple","1"=>"orange"); array_splice($a1,1,0,$a2); print_r($a1); ?>